typed-utilities
Version:
Strongly typed general purpose utilities
33 lines (31 loc) • 1.29 kB
JavaScript
"use strict";
var _ = require("..");
describe(`sequenceId`, () => {
describe(`sequenceIdGenerator`, () => {
test(`unbounded`, () => {
const seq = (0, _.nextify)((0, _.sequenceIdGenerator)(`test`));
const ids = (0, _.range)(10).map(() => seq());
expect(ids).toEqual([`test-0`, `test-1`, `test-2`, `test-3`, `test-4`, `test-5`, `test-6`, `test-7`, `test-8`, `test-9`]);
});
test(`bounded`, () => {
const seq = (0, _.nextify)((0, _.sequenceIdGenerator)(`test`, 5));
const ids = (0, _.range)(5).map(() => seq());
expect(ids).toEqual([`test-0`, `test-1`, `test-2`, `test-3`, `test-4`]);
expect(() => seq()).toThrow();
});
});
describe(`sequenceIdFn`, () => {
test(`unbounded`, () => {
const seq = (0, _.sequenceIdFn)(`test`);
const ids = (0, _.range)(10).map(() => seq());
expect(ids).toEqual([`test-0`, `test-1`, `test-2`, `test-3`, `test-4`, `test-5`, `test-6`, `test-7`, `test-8`, `test-9`]);
});
test(`bounded`, () => {
const seq = (0, _.sequenceIdFn)(`test`, 5);
const ids = (0, _.range)(5).map(() => seq());
expect(ids).toEqual([`test-0`, `test-1`, `test-2`, `test-3`, `test-4`]);
expect(() => seq()).toThrow();
});
});
});
//# sourceMappingURL=sequenceId.test.js.map