Support board-wide Truthtrance force questions
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 03:41:29 +11:00
1 parent f1007a4ea8
commit 89589878fc
12 files changed
+144 -29

No files matched your search

+10 -1
View File
@@ -14,7 +14,7 @@ function markup(value = fact, game: MobileBoard = {}, target = player) {
void test('force fact controls name physical pools and comparisons without revealing a hidden marker value', () => {
const html = markup();
for (const value of ['reserves', 'tanks', 'territory', 'location', 'total', 'normal', 'elite', 'eq', 'gte', 'lte'])
for (const value of ['reserves', 'tanks', 'board', 'territory', 'location', 'total', 'normal', 'elite', 'eq', 'gte', 'lte'])
assert.match(html, new RegExp(`value="${value}"`));
assert.match(html, /Number of force counters/);
assert.match(html, /Each physical counter counts once, including advisors/);
@@ -23,6 +23,15 @@ void test('force fact controls name physical pools and comparisons without revea
assert.match(html, /min="0"/); assert.match(html, /max="9007199254740991"/);
});
void test('the whole board choice needs no selected territory or sector', () => {
const board: ForceCountFact = { ...fact, zone: { kind: 'board' } };
assert.equal(forceCountInputError(board, {}, player), null);
const html = markup(board);
assert.match(html, /Entire Arrakis board/);
assert.doesNotMatch(html, /Force territory/);
assert.doesNotMatch(html, /Force sector/);
});
void test('whole-territory choice names the territory without requiring a sector', () => {
const whole: ForceCountFact = { ...fact, zone: { kind: 'territory', territory: 'wind_pass' } };
assert.equal(forceCountInputError(whole, {}, player), null);