UNPKG

react-next-paging

Version:
193 lines (184 loc) 7.07 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _react = _interopRequireDefault(require("react")); var _enzyme = _interopRequireWildcard(require("enzyme")); var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16")); var _reactNextPaging = _interopRequireWildcard(require("./react-next-paging")); _enzyme.default.configure({ adapter: new _enzymeAdapterReact.default() }); var ITEMS = ["a", "b", "c", "d", "e", "f"]; describe("react-next-paging", function () { it("should call children prop with an object", function () { // this will create a spy/mock var mockChildren = jest.fn(); var wrapper = (0, _enzyme.shallow)(_react.default.createElement(_reactNextPaging.default, null, mockChildren)); expect(mockChildren).toHaveBeenCalled(); expect(mockChildren).toHaveBeenCalledTimes(1); expect(mockChildren).toHaveBeenCalledWith(expect.objectContaining({ getBackButtonProps: expect.any(Function), getFastBackButtonProps: expect.any(Function), getFwdButtonProps: expect.any(Function), getFastFwdButtonProps: expect.any(Function), getSelPageButtonProps: expect.any(Function) })); }); it("should start on the first page and allow forward buttons to be enabled", function () { var mockChildren = jest.fn(); var wrapper = (0, _enzyme.shallow)(_react.default.createElement(_reactNextPaging.default, { items: ITEMS, itemsperpage: 2, pagesspan: 10 }, mockChildren)); expect(mockChildren).toHaveBeenCalled(); // expect(mockChildren).toHaveBeenCalledTimes(1); expect(mockChildren).toHaveBeenCalledWith(expect.objectContaining({ goBackBdisabled: true, goFastBackBdisabled: true, goFwdBdisabled: false, goFastFwdBdisabled: false })); }); }); describe("getNoPages", function () { it("should return 0 when given any empty list", function () { var items = []; var itemsperpage = 2; var actual = (0, _reactNextPaging.getNoPages)(items, itemsperpage); expect(actual).toBe(0); }); it("should round up on uneven", function () { var items = Array.from({ length: 10 }); var itemsperpage = 3; var actual = (0, _reactNextPaging.getNoPages)(items, itemsperpage); expect(actual).toBe(4); }); }); describe("isNoPagesLargerPagesSpan", function () { it("should return true given nopages larger than pagesspan", function () { var nopages = 24; var pagesspan = 10; var actual = (0, _reactNextPaging.isNoPagesLargerPagesSpan)(nopages, pagesspan); expect(actual).toBe(true); }); it("should return false given nopages smaller than pagesspan", function () { var nopages = 5; var pagesspan = 10; var actual = (0, _reactNextPaging.isNoPagesLargerPagesSpan)(nopages, pagesspan); expect(actual).toBe(false); }); }); describe("getHalfPagesArray", function () { it("should return 0 given pagesforarray 0", function () { var pagesforarray = 0; var actual = (0, _reactNextPaging.getHalfPagesArray)(pagesforarray); expect(actual).toBe(0); }); it("should return 12 given pagesforarray 24", function () { var pagesforarray = 24; var actual = (0, _reactNextPaging.getHalfPagesArray)(pagesforarray); expect(actual).toBe(12); }); it("should return 5 given pagesforarray 9", function () { var pagesforarray = 9; var actual = (0, _reactNextPaging.getHalfPagesArray)(pagesforarray); expect(actual).toBe(4); }); it("should return 5 given pagesforarray 11", function () { var pagesforarray = 11; var actual = (0, _reactNextPaging.getHalfPagesArray)(pagesforarray); expect(actual).toBe(5); }); }); describe("getIniPageofArray", function () { it("should return 1 given page 1 nopages > pagesspan", function () { var nopages = 40; var pagesspan = 10; var page = 1; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 2 given page 6 nopages > pagesspan", function () { var nopages = 40; var pagesspan = 10; var page = 6; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 4 given page 9 nopages > pagesspan", function () { var nopages = 40; var pagesspan = 10; var page = 9; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(4); }); it("should return 12 given page 17 nopages > pagesspan", function () { var nopages = 40; var pagesspan = 10; var page = 17; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(12); }); it("should return 2 given page 3 nopages > pagesspan", function () { var nopages = 5; var pagesspan = 4; var page = 3; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 1 given page 1 nopages < pagesspan", function () { var nopages = 4; var pagesspan = 10; var page = 1; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 1 given page 4 nopages < pagesspan", function () { var nopages = 4; var pagesspan = 10; var page = 4; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 1 given page 20 nopages < pagesspan", function () { var nopages = 4; var pagesspan = 10; var page = 20; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(1); }); it("should return 4 given page 6 nopages < pagesspan", function () { var nopages = 40; var pagesspan = 5; var page = 6; var inipagearray = 6; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(4); }); it("should return 2 given page 5 nopages < pagesspan", function () { var nopages = 5; var pagesspan = 4; var page = 5; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(2); }); it("should return 2 given page 4 nopages < pagesspan", function () { var nopages = 5; var pagesspan = 4; var page = 4; var inipagearray = 1; var actual = (0, _reactNextPaging.getIniPageofArray)(nopages, pagesspan, page, inipagearray); expect(actual).toBe(2); }); });