Skip to content

Commit 27792bf

Browse files
committed
move ReportDetailPage component and all its sub-components to a new directory
1 parent 5012094 commit 27792bf

18 files changed

+43
-18
lines changed

frontend/src/common/components/Router/TabNavigation.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import DiagnosticsPage from 'pages/Account/components/Diagnostics/DiagnosticsPag
1818
import ChatPage from 'pages/Chat/ChatPage';
1919
import UploadPage from 'pages/Upload/UploadPage';
2020
import ReportsListPage from 'pages/Reports/ReportsListPage';
21-
import ReportDetailPage from 'pages/Reports/ReportDetailPage';
21+
import ReportDetailPage from 'pages/ReportDetail/ReportDetailPage';
2222
import ProcessingPage from 'pages/Processing/ProcessingPage';
2323

2424
// Import SVG icons

frontend/src/common/components/Router/__tests__/TabNavigation.test.tsx

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,38 @@ import { render as defaultRender, screen } from '@testing-library/react';
33
import TabNavigation from '../TabNavigation';
44
import '@testing-library/jest-dom';
55

6-
// Create a mock i18n instance - MOVED UP before any uses
7-
const mockI18n = {
8-
t: (key: string, options?: Record<string, unknown>) => options?.defaultValue || key,
9-
language: 'en',
10-
languages: ['en'],
11-
use: () => mockI18n, // Return itself for chaining
12-
init: () => mockI18n, // Return itself for chaining
13-
changeLanguage: vi.fn(),
14-
exists: vi.fn(() => true),
15-
addResourceBundle: vi.fn(),
16-
};
6+
// vi.mock calls must come before any variable they reference
7+
// All mocks are hoisted to the top, so we need to define them before they're used
178

189
// Mock i18next
19-
vi.mock('i18next', () => ({
20-
default: mockI18n,
21-
}));
10+
vi.mock('i18next', () => {
11+
return {
12+
default: {
13+
t: (key: string, options?: Record<string, unknown>) => options?.defaultValue || key,
14+
language: 'en',
15+
languages: ['en'],
16+
use: () => ({
17+
t: (key: string, options?: Record<string, unknown>) => options?.defaultValue || key,
18+
language: 'en',
19+
languages: ['en'],
20+
changeLanguage: vi.fn(),
21+
exists: vi.fn(() => true),
22+
addResourceBundle: vi.fn(),
23+
}),
24+
init: () => ({
25+
t: (key: string, options?: Record<string, unknown>) => options?.defaultValue || key,
26+
language: 'en',
27+
languages: ['en'],
28+
changeLanguage: vi.fn(),
29+
exists: vi.fn(() => true),
30+
addResourceBundle: vi.fn(),
31+
}),
32+
changeLanguage: vi.fn(),
33+
exists: vi.fn(() => true),
34+
addResourceBundle: vi.fn(),
35+
},
36+
};
37+
});
2238

2339
// Mock i18next-browser-languagedetector
2440
vi.mock('i18next-browser-languagedetector', () => ({
@@ -36,9 +52,18 @@ vi.mock('react-i18next', () => ({
3652
I18nextProvider: ({ children }: { children: React.ReactNode }) => <>{children}</>,
3753
}));
3854

39-
// Mock common/utils/i18n
55+
// Mock common/utils/i18n using factory function that doesn't depend on mockI18n
4056
vi.mock('common/utils/i18n', () => ({
41-
default: mockI18n,
57+
default: {
58+
t: (key: string, options?: Record<string, unknown>) => options?.defaultValue || key,
59+
language: 'en',
60+
languages: ['en'],
61+
use: vi.fn().mockReturnThis(),
62+
init: vi.fn().mockReturnThis(),
63+
changeLanguage: vi.fn(),
64+
exists: vi.fn(() => true),
65+
addResourceBundle: vi.fn(),
66+
},
4267
}));
4368

4469
// Mock the window object for Ionic

0 commit comments

Comments
 (0)