mirror of https://github.com/Squidex/squidex.git
3 changed files with 186 additions and 1 deletions
@ -0,0 +1,151 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import { Pager } from './../'; |
||||
|
|
||||
|
describe('Pager', () => { |
||||
|
it('Should init with page size and page', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
|
||||
|
expect(Object.assign({}, pager_1)).toEqual({ |
||||
|
page: 2, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 21, |
||||
|
itemLast: 23, |
||||
|
skip: 20, |
||||
|
numberOfItems: 23, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('Should reset page on reset', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.reset(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 0, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 0, |
||||
|
itemLast: 0, |
||||
|
skip: 0, |
||||
|
numberOfItems: 0, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: false |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should return same instance when go next and being on last page', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.goNext(); |
||||
|
|
||||
|
expect(pager_2).toBe(pager_1); |
||||
|
}); |
||||
|
|
||||
|
it('should update page when going next', () => { |
||||
|
const pager_1 = new Pager(23, 0, 10); |
||||
|
const pager_2 = pager_1.goNext(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 1, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 11, |
||||
|
itemLast: 20, |
||||
|
skip: 10, |
||||
|
numberOfItems: 23, |
||||
|
canGoNext: true, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should return same instance when go prev and being on first page', () => { |
||||
|
const pager_1 = new Pager(23, 0, 10); |
||||
|
const pager_2 = pager_1.goPrev(); |
||||
|
|
||||
|
expect(pager_2).toBe(pager_1); |
||||
|
}); |
||||
|
|
||||
|
it('should update page when going prev', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.goPrev(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 1, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 11, |
||||
|
itemLast: 20, |
||||
|
skip: 10, |
||||
|
numberOfItems: 23, |
||||
|
canGoNext: true, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should update count when setting it', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.setCount(30); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 2, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 21, |
||||
|
itemLast: 30, |
||||
|
skip: 20, |
||||
|
numberOfItems: 30, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should update count when incrementing it', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.incrementCount(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 2, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 21, |
||||
|
itemLast: 24, |
||||
|
skip: 20, |
||||
|
numberOfItems: 24, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should update count when decrementing it', () => { |
||||
|
const pager_1 = new Pager(23, 2, 10); |
||||
|
const pager_2 = pager_1.decrementCount(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 2, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 21, |
||||
|
itemLast: 22, |
||||
|
skip: 20, |
||||
|
numberOfItems: 22, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
it('should also update page when new page is bigger than max page', () => { |
||||
|
const pager_1 = new Pager(21, 2, 10); |
||||
|
const pager_2 = pager_1.decrementCount(); |
||||
|
|
||||
|
expect(Object.assign({}, pager_2)).toEqual({ |
||||
|
page: 1, |
||||
|
pageSize: 10, |
||||
|
itemFirst: 11, |
||||
|
itemLast: 20, |
||||
|
skip: 10, |
||||
|
numberOfItems: 20, |
||||
|
canGoNext: false, |
||||
|
canGoPrev: true |
||||
|
}); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,30 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import { Version } from './../'; |
||||
|
|
||||
|
describe('Version', () => { |
||||
|
it('should initialize with default value', () => { |
||||
|
const version = new Version(); |
||||
|
|
||||
|
expect(version.value).toBe(''); |
||||
|
}); |
||||
|
|
||||
|
it('should initialize with init value', () => { |
||||
|
const version = new Version('1.0'); |
||||
|
|
||||
|
expect(version.value).toBe('1.0'); |
||||
|
}); |
||||
|
|
||||
|
it('should update to new value', () => { |
||||
|
const version = new Version(); |
||||
|
|
||||
|
version.update('1.0'); |
||||
|
|
||||
|
expect(version.value).toBe('1.0'); |
||||
|
}); |
||||
|
}); |
||||
Loading…
Reference in new issue