UNPKG

lucid-ui

Version:

A UI component library from AppNexus.

56 lines (53 loc) 2.26 kB
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`'); }); }); });