diff --git a/web/src/components/EntryForm.dom.test.tsx b/web/src/components/EntryForm.dom.test.tsx index 9039f7d..4e2c54f 100644 --- a/web/src/components/EntryForm.dom.test.tsx +++ b/web/src/components/EntryForm.dom.test.tsx @@ -77,6 +77,7 @@ describe('EntryForm DOM flow', () => { render(); await user.type(screen.getByPlaceholderText('BTC/USD'), 'BTC/USD'); + await user.type(screen.getByPlaceholderText('0'), '1'); await user.click(screen.getByRole('checkbox', { name: /Execute/i })); await user.click(screen.getByRole('button', { name: 'Add' })); diff --git a/web/src/hooks/useTabFeatureFlags.dom.test.tsx b/web/src/hooks/useTabFeatureFlags.dom.test.tsx index a0c41c8..9291f7d 100644 --- a/web/src/hooks/useTabFeatureFlags.dom.test.tsx +++ b/web/src/hooks/useTabFeatureFlags.dom.test.tsx @@ -1,7 +1,7 @@ // @vitest-environment jsdom import { beforeEach, describe, expect, it, vi } from 'vitest'; import { renderHook, waitFor } from '@testing-library/react'; -import { useTabFeatureFlags } from './useTabFeatureFlags'; +import { resetTabFeatureFlagsCacheForTests, useTabFeatureFlags } from './useTabFeatureFlags'; const { getPlatformAccessTokenMock } = vi.hoisted(() => ({ getPlatformAccessTokenMock: vi.fn<() => Promise>(), @@ -15,14 +15,9 @@ vi.mock('../lib/runtime', () => ({ tradingRuntime: { tradingApiUrl: 'http://localhost:4018' }, })); -// Reset module-level cache between tests -vi.mock('./useTabFeatureFlags', async (importOriginal) => { - const mod = await importOriginal(); - return mod; -}); - describe('useTabFeatureFlags DOM behaviour', () => { beforeEach(() => { + resetTabFeatureFlagsCacheForTests(); getPlatformAccessTokenMock.mockReset(); vi.stubGlobal('fetch', vi.fn()); }); diff --git a/web/src/hooks/useTabFeatureFlags.ts b/web/src/hooks/useTabFeatureFlags.ts index 91b8999..46f9a06 100644 --- a/web/src/hooks/useTabFeatureFlags.ts +++ b/web/src/hooks/useTabFeatureFlags.ts @@ -13,6 +13,11 @@ const CACHE_TTL_MS = 30_000; let cachedFlags: TabFeatureFlags | null = null; let cachedAt = 0; +export function resetTabFeatureFlagsCacheForTests(): void { + cachedFlags = null; + cachedAt = 0; +} + async function loadTabFlags(): Promise { const now = Date.now(); if (cachedFlags && now - cachedAt < CACHE_TTL_MS) {