Enable mixed selected-deck Discovery previews
Verify and publish checkpoint container / container (push) Failing after 11m29s

This commit is contained in:
Quintine committed 2026-10-29 20:14:11 +11:00
1 parent 26d45ecf25
commit c8dbd44975
9 files changed
+195 -11

No files matched your search

+16 -1
View File
@@ -17,7 +17,7 @@ void test('Discovery requires the selected native family and does not admit unsu
const unsupported = [
lobby(['ixians', 'guild'], []),
lobby(['richese', 'guild'], ['ix']),
lobby(['ecaz', 'ixians', 'guild'], ['ecaz', 'ix']),
lobby(['ixians', 'guild'], ['ecaz']),
lobby(['moritani', 'harkonnen', 'guild'], ['ecaz']),
];
for (const game of unsupported) assert.throws(() => initializeDiscoveryGameForAudit(game), RuleError);
@@ -35,6 +35,21 @@ void test('Discovery requires the selected native family and does not admit unsu
assert.equal(basic.discoveries?.tokens.length, 8);
});
void test('Discovery accepts mixed selected decks without requiring a native seat from each', () => {
for (const advanced of [false, true]) for (const expansions of [
['ecaz','ix'], ['ecaz','choam'], ['ecaz','ix','choam'],
]) {
const game = lobby(['ecaz','moritani','guild'], expansions, advanced);
const started = initializeDiscoveryGameForAudit(game);
assert.equal(started.discoveries?.tokens.length, 8);
assert.equal(started.nexusCards, undefined);
assert.equal(started.ecazTreachery, undefined);
assert.ok(initializeDiscoveryGameForAudit(lobby(['guild','atreides'], expansions, advanced)).discoveries);
}
assert.throws(() => initializeDiscoveryGameForAudit(
lobby(['ecaz','moritani','harkonnen'], ['ecaz','ix'], true)), RuleError);
});
void test('Discovery Tech requires three seats and untouched physical tokens', () => {
const two = lobby(['ixians', 'tleilaxu'], ['ix']); two.techTokens = createTechTokens();
assert.throws(() => initializeDiscoveryGameForAudit(two), RuleError);