diff --git a/lib/versioning/node/index.spec.ts b/lib/versioning/node/index.spec.ts index 05ed63c55562e19dd86c76f0b2b24747da25ba74..26c8929f2553e9b71170b5d743a3a4c8fcc53e22 100644 --- a/lib/versioning/node/index.spec.ts +++ b/lib/versioning/node/index.spec.ts @@ -9,49 +9,47 @@ describe('versioning/node/index', () => { afterEach(() => { DateTime.local = dtLocal; }); - it('returns normalized newVersion', () => { - expect( - nodever.getNewValue({ - currentValue: '1.0.0', - rangeStrategy: 'replace', - currentVersion: '1.0.0', - newVersion: 'v1.1.0', - }) - ).toEqual('1.1.0'); - }); - it('returns range', () => { - expect( - nodever.getNewValue({ - currentValue: '~8.0.0', - rangeStrategy: 'replace', - currentVersion: '8.0.2', - newVersion: 'v8.2.0', - }) - ).toEqual('~8.2.0'); - }); - it('isStable', () => { + + test.each` + currentValue | rangeStrategy | currentVersion | newVersion | expected + ${'1.0.0'} | ${'replace'} | ${'1.0.0'} | ${'v1.1.0'} | ${'1.1.0'} + ${'~8.0.0'} | ${'replace'} | ${'8.0.2'} | ${'v8.2.0'} | ${'~8.2.0'} + `( + 'getNewValue($currentValue, $rangeStrategy, $currentVersion, $newVersion, $expected) === $expected', + ({ currentValue, rangeStrategy, currentVersion, newVersion, expected }) => { + const res = nodever.getNewValue({ + currentValue, + rangeStrategy, + currentVersion, + newVersion, + }); + expect(res).toBe(expected); + } + ); + + describe('isStable', () => { const t1 = DateTime.fromISO('2020-09-01'); const t2 = DateTime.fromISO('2021-06-01'); - [ - ['16.0.0', t1, false], - ['15.0.0', t1, false], - ['14.9.0', t1, false], - ['14.0.0', t2, true], - ['12.0.3', t1, true], - ['v12.0.3', t1, true], - ['12.0.3a', t1, false], - ['11.0.0', t1, false], - - ['10.0.0', t1, true], - ['10.0.999', t1, true], - ['10.1.0', t1, true], - ['10.0.0a', t1, false], - ['9.0.0', t1, false], - ].forEach(([version, time, result]) => { + test.each` + version | time | expected + ${'16.0.0'} | ${t1} | ${false} + ${'15.0.0'} | ${t1} | ${false} + ${'14.9.0'} | ${t1} | ${false} + ${'14.0.0'} | ${t2} | ${true} + ${'12.0.3'} | ${t1} | ${true} + ${'v12.0.3'} | ${t1} | ${true} + ${'12.0.3a'} | ${t1} | ${false} + ${'11.0.0'} | ${t1} | ${false} + ${'10.0.0'} | ${t1} | ${true} + ${'10.0.999'} | ${t1} | ${true} + ${'10.1.0'} | ${t1} | ${true} + ${'10.0.0a'} | ${t1} | ${false} + ${'9.0.0'} | ${t1} | ${false} + `('isStable("$version") === $expected', ({ version, time, expected }) => { DateTime.local = (...args) => args.length ? dtLocal.apply(DateTime, args) : time; - expect(isStable(version as string)).toBe(result); + expect(isStable(version as string)).toBe(expected); }); });