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) {