Implement Ix High paid Cyborg revival bonus
This commit is contained in:
1 parent
86608f7ea9
commit
052737d0f9
18 files changed
+929
-12
No files matched your search
@@ -0,0 +1,34 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { createElement } from 'react';
|
||||
import { renderToStaticMarkup } from 'react-dom/server';
|
||||
import { IxHomeworldRevivalBonus } from '../components/ix-homeworld-revival';
|
||||
|
||||
void test('the automatic Ix quote persists and describes the selected physical bonus', () => {
|
||||
const props = { enabled: true, amount: 3, elite: 1, free: 1,
|
||||
freeElite: 0, normalTanks: 4 };
|
||||
const html = renderToStaticMarkup(createElement(IxHomeworldRevivalBonus, props));
|
||||
assert.match(html, /also returns 2 Suboids for free/);
|
||||
assert.match(html, /do not use normal revival allowance/);
|
||||
assert.match(html, /aria-live="polite"/);
|
||||
assert.doesNotMatch(html, /button|timeout|Continue/);
|
||||
const one = renderToStaticMarkup(createElement(IxHomeworldRevivalBonus,
|
||||
{ ...props, normalTanks: 3 }));
|
||||
assert.match(one, /also returns 1 Suboid for free/);
|
||||
assert.doesNotMatch(one, /1 Suboids/);
|
||||
});
|
||||
|
||||
void test('free Cyborg selection quotes zero and stale selections remain readable', () => {
|
||||
const props = { enabled: true, amount: 3, elite: 1, free: 1,
|
||||
freeElite: 1, normalTanks: 4 };
|
||||
assert.match(renderToStaticMarkup(createElement(IxHomeworldRevivalBonus, props)),
|
||||
/also returns 0 Suboids/);
|
||||
assert.match(renderToStaticMarkup(createElement(IxHomeworldRevivalBonus,
|
||||
{ ...props, elite: 4 })), /Select an available revival group/);
|
||||
assert.equal(renderToStaticMarkup(createElement(IxHomeworldRevivalBonus,
|
||||
{ ...props, enabled: false })), '');
|
||||
const blocked = renderToStaticMarkup(createElement(IxHomeworldRevivalBonus,
|
||||
{ ...props, blocked: true }));
|
||||
assert.match(blocked, /La La La prevents/);
|
||||
assert.match(blocked, /Paid Cyborg revival remains available/);
|
||||
});
|
||||
Reference in new issue
Block a user