apple submit/resubmit --platform macos: apple.macos.noIap leaves IAPs out, no Game Center switch without apple.macos.gameCenter; pitfalls #128
This commit is contained in:
parent
36ef9c2c5c
commit
d05294ebcd
6 changed files with 875 additions and 2 deletions
|
|
@ -215,6 +215,26 @@ describe('apple submit --build <n> (a first submission, the desktop owner action
|
|||
expect(shown(a)).toEqual([]);
|
||||
});
|
||||
|
||||
test('macOS with apple.macos.noIap and no Mac Game Center: version and build only, the skips named', async () => {
|
||||
fresh();
|
||||
s.asc.put({ type: 'appStoreVersions', id: 'ver-m', attributes: { versionString: '2.0.0', appVersionState: 'PREPARE_FOR_SUBMISSION', platform: 'MAC_OS' }, rels: { app: APP } });
|
||||
s.asc.put({ type: 'builds', id: 'b-13', attributes: { version: '13', processingState: 'VALID', usesNonExemptEncryption: false }, rels: { app: APP } });
|
||||
const p = project({ ...ONE, apple: { ...ONE.apple!, macos: { noIap: true } } });
|
||||
const a = s.calls.length;
|
||||
const r = await capture(() => appleSubmit(p.ctx(['--build', '13', '--platform', 'macos'])));
|
||||
expect(r.out).toContain('1 in-app purchase(s) left out: apple.macos.noIap');
|
||||
expect(r.out).not.toContain('com.example.notes.gems');
|
||||
expect(r.out).toMatch(/app version 2\.0\.0/);
|
||||
expect(shown(a)).toEqual([]);
|
||||
expect(s.calls.slice(a).some(c => /gameCenter/.test(c.path))).toBe(false);
|
||||
});
|
||||
test('macosSubmitSkips: only MAC_OS, gameCenter true keeps the switch', async () => {
|
||||
const { macosSubmitSkips } = await import('../cli/lib/config');
|
||||
expect(macosSubmitSkips({ apple: { ...ONE.apple!, macos: { noIap: true } } }, 'IOS')).toEqual({ iaps: null, gameCenter: null });
|
||||
expect(macosSubmitSkips({ apple: { ...ONE.apple!, macos: { gameCenter: true } } }, 'MAC_OS')).toEqual({ iaps: null, gameCenter: null });
|
||||
expect(macosSubmitSkips({ apple: ONE.apple! }, 'MAC_OS').gameCenter).toContain('no Game Center');
|
||||
});
|
||||
|
||||
test('--yes: build attached, one draft with the version and the IAP, submitted; a re-run sends nothing', async () => {
|
||||
fresh();
|
||||
const p = project(ONE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue