Files
Dune/tests/kull-alliance-scope.test.ts
Quintine d6ddb7cb5c
Verify and publish checkpoint container / container (push) Successful in 10m15s
Support alliance answers with Richese Semuta
2026-10-29 01:17:58 +11:00

31 lines
1.9 KiB
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { alliancePromiseModeSupported as supported } from '../game/alliance-promises';
const basic = { advanced: false, expansions: ['choam', 'ix'],
players: [{ faction: 'choam' }, { faction: 'emperor' }, { faction: 'guild' }], kullPreview: true };
void test('printed Kull admission reuses the supported Basic CHOAM envelope', () => {
assert.equal(supported(basic), true);
assert.equal(supported({ ...basic, players: [...basic.players, { faction: 'ixians' }] }), true);
assert.equal(supported({ ...basic, players: [...basic.players, { faction: 'tleilaxu' }] }), true);
assert.equal(supported({ ...basic, expansions: ['choam', 'ix', 'ecaz'],
players: [...basic.players, { faction: 'moritani' }] }), true);
assert.equal(supported({ ...basic, advanced: true }), false);
assert.equal(supported({ ...basic, expansions: ['choam'] }), false);
assert.equal(supported({ ...basic, players: [{ faction: 'emperor' }, { faction: 'guild' }] }), false);
assert.equal(supported({ ...basic, players: [...basic.players, { faction: 'guild' }] }), false);
assert.equal(supported({ ...basic, kullPreview: false }), true);
const richese = { ...basic, players: [...basic.players, { faction: 'richese' }], semutaPreview: true };
assert.equal(supported(richese), true);
assert.equal(supported({ ...richese, kullPreview: false }), true);
assert.equal(supported({ ...richese, advanced: true }), false);
assert.equal(supported({ ...richese, nexusCards: true }), false);
for (const flag of ['semutaPreview', 'nexusKullPreview', 'richeseBetrayalPreview',
'guildBetrayalPreview', 'nexusIxianReplacementPreview', 'nexusIxianBetrayalPreview',
'nexusHarkonnenBetrayalPreview', 'moritaniAssassinatePreview', 'nexusCards', 'homeworlds',
'leaderSkills', 'techTokens', 'strongholdCards', 'discoveryEnabled', 'ecazTreachery']) {
assert.equal(supported({ ...basic, [flag]: true }), false, flag);
}
});