lucid-ui
Version:
A UI component library from AppNexus.
56 lines (53 loc) • 2.26 kB
JavaScript
import assert from 'assert';
import * as SingleSelect from '../SingleSelect/SingleSelect.reducers';
import { onPageSelect, onPageSizeSelect } from './Paginator.reducers';
jest.mock('../SingleSelect/SingleSelect.reducers');
describe('Paginator reducers', function () {
var initialState = {
selectedPageIndex: 1,
selectedPageSizeIndex: 0,
SingleSelect: {}
};
var totalPages = 5;
describe('onPageSelect', function () {
it('should set the selectedPageIndex to the payload', function () {
var pageIndex = 2;
var nextState = onPageSelect(initialState, pageIndex, totalPages);
assert.equal(nextState.selectedPageIndex, pageIndex, "must be ".concat(pageIndex));
});
it('should set the selectedPageIndex to 0 if payload < 0', function () {
var pageIndex = -1;
var nextState = onPageSelect(initialState, pageIndex, totalPages);
assert.equal(nextState.selectedPageIndex, 0, 'must be 0');
});
it('should not exceed totalPages', function () {
var pageIndex = 5;
var nextState = onPageSelect(initialState, pageIndex, totalPages);
assert.equal(nextState.selectedPageIndex, 4, 'must be 4');
});
});
describe('onPageSizeSelect', function () {
beforeEach(function () {
return SingleSelect.onSelect.mockClear();
});
it('should set the selectedPageIndex to 0', function () {
var pageIndex = 2;
var nextState = onPageSizeSelect(initialState, pageIndex);
assert.equal(nextState.selectedPageIndex, 0, 'must be 0');
});
it('should call SingleSelect.onSelect with state.SingleSelect and selectedPageSizeIndex', function () {
var pageIndex = 2;
onPageSizeSelect(initialState, pageIndex);
expect(SingleSelect.onSelect).toHaveBeenCalledWith(initialState.SingleSelect, pageIndex);
});
it('should set state.SingleSelect to the return value of SingleSelect.onSelect', function () {
var mockValue = {};
var pageIndex = 2;
SingleSelect.onSelect = function () {
return mockValue;
}; // eslint-disable-line no-import-assign
var nextState = onPageSizeSelect(initialState, pageIndex);
assert.strictEqual(nextState.SingleSelect, mockValue, 'must be `mockValue`');
});
});
});