Correct expansion preview guidance
This commit is contained in:
1 parent
fbdf11c789
commit
813a2bacbe
6 files changed
+57
-11
No files matched your search
@@ -15,3 +15,20 @@ void test('every phase and base faction has a discoverable rule topic with valid
|
||||
assert.ok(ids.has('ai-players'));
|
||||
});
|
||||
|
||||
void test('setup and expansion guides describe available starts as unfinished previews', () => {
|
||||
for (const id of [
|
||||
'setup',
|
||||
'card-amal',
|
||||
'moritani-enemy',
|
||||
'moritani-ally-retention',
|
||||
'choam-gamont',
|
||||
'choam-jubba',
|
||||
'ecaz-modules',
|
||||
]) {
|
||||
const topic = RULE_TOPICS.find((item) => item.id === id);
|
||||
assert.ok(topic, `missing ${id}`);
|
||||
const guidance = topic.steps.join(' ');
|
||||
assert.match(guidance, /preview/i, id);
|
||||
assert.doesNotMatch(guidance, /(?:expansion|CHOAM|Moritani) (?:faction )?(?:starts|games) remain (?:unavailable|disabled|gated)/i, id);
|
||||
}
|
||||
});
|
||||
@@ -28,6 +28,21 @@ void test('presentation does not export source-verification metadata or unverifi
|
||||
}
|
||||
});
|
||||
|
||||
void test('canonical Richese inspectors describe available previews and retain card-specific limits', () => {
|
||||
const sapho = RICHESE_CARD_DEFINITIONS.find(row => row.card.effect === 'juiceOfSapho');
|
||||
const karama = RICHESE_CARD_DEFINITIONS.find(row => row.card.effect === 'karama');
|
||||
assert.ok(sapho && karama);
|
||||
const saphoAvailability = cardPresentation(sapho.card).availability;
|
||||
const karamaAvailability = cardPresentation(karama.card).availability;
|
||||
assert.match(saphoAvailability ?? '', /supported Richese and expansion starts are available as unfinished previews/i);
|
||||
assert.match(saphoAvailability ?? '', /Once Around first or last/);
|
||||
assert.match(saphoAvailability ?? '', /other phase or auction modes remain unfinished/);
|
||||
assert.match(karamaAvailability ?? '', /supported Richese and expansion starts are available as unfinished previews/i);
|
||||
assert.match(karamaAvailability ?? '', /bounded card handlers/);
|
||||
for (const definition of RICHESE_CARD_DEFINITIONS)
|
||||
assert.doesNotMatch(cardPresentation(definition.card).availability ?? '', /expansion starts remain disabled/i);
|
||||
});
|
||||
|
||||
void test('missing, altered and merely similar Richese identities receive no canonical full guide', () => {
|
||||
for (const card of richeseCards()) {
|
||||
const impostors: Card[] = [
|
||||
|
||||
Reference in new issue
Block a user