test: warning=failure guard + fix ambiguous switch selector
- setupTests.js: console.error/warn now throw. Warning = failure.
- Combat.characterization: two role=switch (player HP + NPC HP), scope
to player-HP label. getByRole('switch') was ambiguous.
Full suite: 77/77 pass, 0 warnings.
This commit is contained in:
+1
-5
@@ -1,5 +1,6 @@
|
|||||||
// jest setup: RTL jest-dom + mock DB reset per test.
|
// jest setup: RTL jest-dom + mock DB reset per test.
|
||||||
import '@testing-library/jest-dom';
|
import '@testing-library/jest-dom';
|
||||||
|
import { resetMockDb } from './__mocks__/firebase/_mock-db';
|
||||||
|
|
||||||
// RTL v14: tell React this is an act environment. Without it every
|
// RTL v14: tell React this is an act environment. Without it every
|
||||||
// async update warns "current testing environment is not configured to
|
// async update warns "current testing environment is not configured to
|
||||||
@@ -21,11 +22,6 @@ console.warn = (...args) => {
|
|||||||
originalWarn(...args);
|
originalWarn(...args);
|
||||||
throw new Error(`console.warn in test: ${args.map(String).join(' ').slice(0, 500)}`);
|
throw new Error(`console.warn in test: ${args.map(String).join(' ').slice(0, 500)}`);
|
||||||
};
|
};
|
||||||
import { resetMockDb } from './__mocks__/firebase/_mock-db';
|
|
||||||
|
|
||||||
// Tell React this is an act environment. Without it, every act() call
|
|
||||||
// emits 'current testing environment is not configured to support act'.
|
|
||||||
globalThis.IS_REACT_ACT_ENVIRONMENT = true;
|
|
||||||
|
|
||||||
// polyfill crypto.randomUUID for jsdom (used by generateId in App.js).
|
// polyfill crypto.randomUUID for jsdom (used by generateId in App.js).
|
||||||
if (!global.crypto) global.crypto = {};
|
if (!global.crypto) global.crypto = {};
|
||||||
|
|||||||
@@ -123,7 +123,9 @@ describe('Combat -> Firebase', () => {
|
|||||||
test('toggleHidePlayerHp: updateDoc patch on activeDisplay/status', async () => {
|
test('toggleHidePlayerHp: updateDoc patch on activeDisplay/status', async () => {
|
||||||
await setupWithMonsters();
|
await setupWithMonsters();
|
||||||
await startCombatViaUI();
|
await startCombatViaUI();
|
||||||
const switchBtn = screen.getByRole('switch');
|
// Two switches now (Hide player HP + Hide NPC/monster HP). Scope to player one.
|
||||||
|
const playerHpLabel = screen.getByText('Hide player HP');
|
||||||
|
const switchBtn = playerHpLabel.parentElement.querySelector('[role="switch"]');
|
||||||
fireEvent.click(switchBtn);
|
fireEvent.click(switchBtn);
|
||||||
await waitFor(() => {
|
await waitFor(() => {
|
||||||
const adCalls = findCallActiveDisplay('updateDoc');
|
const adCalls = findCallActiveDisplay('updateDoc');
|
||||||
|
|||||||
Reference in New Issue
Block a user