16 lines
1.1 KiB
TypeScript
16 lines
1.1 KiB
TypeScript
import { expect, test } from 'bun:test';
|
|
import { planVersion } from '../cli/lib/listing-plan';
|
|
|
|
const row = (id: string, versionString: string, state: string, releaseType: string) => ({ id, attributes: { versionString, appStoreState: state, appVersionState: state, platform: 'IOS', releaseType } });
|
|
|
|
test('a new version keeps the release type of the newest version before it unless apple.releaseType is set', () => {
|
|
const rows = [row('v1', '2.0.0', 'READY_FOR_DISTRIBUTION', 'MANUAL'), row('v2', '2.0.1', 'READY_FOR_DISTRIBUTION', 'AFTER_APPROVAL')];
|
|
const p = planVersion(rows, '2.0.2', { copyright: 'c' }, 'IOS');
|
|
expect(p.action).toBe('create');
|
|
expect(p.attributes.releaseType).toBe('AFTER_APPROVAL');
|
|
expect(p.reason).toContain('as version 2.0.1');
|
|
const set = planVersion(rows, '2.0.2', { copyright: 'c', releaseType: 'MANUAL' }, 'IOS');
|
|
expect(set.attributes.releaseType).toBe('MANUAL');
|
|
expect(set.warning).toContain('differs from version 2.0.1 (AFTER_APPROVAL)');
|
|
expect(planVersion([], '1.0.0', { copyright: 'c' }, 'IOS').attributes.releaseType).toBe('MANUAL');
|
|
});
|