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.
|
||||
import '@testing-library/jest-dom';
|
||||
import { resetMockDb } from './__mocks__/firebase/_mock-db';
|
||||
|
||||
// RTL v14: tell React this is an act environment. Without it every
|
||||
// async update warns "current testing environment is not configured to
|
||||
@@ -21,11 +22,6 @@ console.warn = (...args) => {
|
||||
originalWarn(...args);
|
||||
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).
|
||||
if (!global.crypto) global.crypto = {};
|
||||
|
||||
@@ -123,7 +123,9 @@ describe('Combat -> Firebase', () => {
|
||||
test('toggleHidePlayerHp: updateDoc patch on activeDisplay/status', async () => {
|
||||
await setupWithMonsters();
|
||||
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);
|
||||
await waitFor(() => {
|
||||
const adCalls = findCallActiveDisplay('updateDoc');
|
||||
|
||||
Reference in New Issue
Block a user