Files
pics/lib/input/pagequeryconverter.test.js

24 lines
1.2 KiB
JavaScript

const pageQueryConverter = require('./pagequeryconverter.js');
const limit = 30;
describe('page query converter', () => {
const cases = [
{ in: null, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: [1, 2, 3] }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: 'test' }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: null }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: -1 }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: 0 }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: 1 }, out: { offset: 0, 'queryString': '', page: 1 } },
{ in: { page: 5 }, out: { offset: limit*4, 'queryString': '', page: 5 } },
{ in: { page: 10, other: 'test' }, out: { offset: limit*9, 'queryString': 'other=test', page: 10 } },
{ in: { other: 'test' }, out: { offset: 0, 'queryString': 'other=test', page: 1 } },
];
for (let i in cases) {
test(`should contain ${cases[i].out} for an input of ${cases[i].in}`, () => {
expect(pageQueryConverter(cases[i].in, limit)).toStrictEqual(cases[i].out);
});
}
});