Skip to content

Commit b40e280

Browse files
committed
fix: centralise mock test
1 parent 63378a8 commit b40e280

61 files changed

Lines changed: 80 additions & 195 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

jest.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,6 @@ module.exports = {
4040
'\\.(lottie)$': '<rootDir>/__mocks__/fileMock.ts',
4141
'^group-ib-fp$': '<rootDir>/__mocks__/group-ib-fp.ts',
4242
'^parse-imports-exports$': '<rootDir>/node_modules/parse-imports-exports/index.cjs',
43+
'^@testUtils/(.*)$': '<rootDir>/tests/utils/$1',
4344
},
4445
};

jest/setup.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,3 +375,11 @@ jest.mock('@src/hooks/useDomainDocumentTitle', () => ({
375375
__esModule: true,
376376
default: jest.fn(),
377377
}));
378+
379+
// Base Navigation mock used by ScreenWrapper and many components.
380+
// Test files with custom Navigation needs can spread the base and add overrides:
381+
// jest.mock('@libs/Navigation/Navigation', () => ({
382+
// ...require('@testUtils/createNavigationMock').default,
383+
// customProp: jest.fn(),
384+
// }));
385+
jest.mock('@libs/Navigation/Navigation', () => require('@testUtils/createNavigationMock').default);

tests/actions/ReportTest.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,12 @@ jest.mock('@libs/Sound', () => ({
116116
jest.mock('@hooks/useCardFeedsForDisplay', () => jest.fn(() => ({defaultCardFeed: null, cardFeedsByPolicy: {}})));
117117

118118
jest.mock('@libs/Navigation/Navigation', () => ({
119+
...require('@testUtils/createNavigationMock').default,
119120
navigate: jest.fn(),
120121
getActiveRoute: jest.fn().mockReturnValue(''),
121-
getActiveRouteWithoutParams: jest.fn(() => ''),
122122
dismissModalWithReport: jest.fn(),
123123
dismissModal: jest.fn(),
124124
dismissToSuperWideRHP: jest.fn(),
125-
isNavigationReady: jest.fn(() => Promise.resolve()),
126125
isActiveRoute: jest.fn(() => false),
127126
getTopmostReportId: jest.fn(() => undefined),
128127
getTopmostSuperWideRHPReportID: jest.fn(() => undefined),

tests/navigation/LinkedActionNotFoundGuardTest.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ const mockIsNavigationReady = jest.fn(() => Promise.resolve());
1818
jest.mock('@libs/Navigation/Navigation', () => ({
1919
__esModule: true,
2020
default: {
21+
...require('@testUtils/createNavigationMock').default,
2122
setParams: (...args: unknown[]) => mockSetParams(...args),
22-
getActiveRouteWithoutParams: jest.fn(() => ''),
2323
isNavigationReady: () => mockIsNavigationReady(),
2424
},
2525
}));

tests/perf-test/SearchRouter.perf-test.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,10 @@ jest.mock('@src/libs/API', () => ({
3939
}));
4040

4141
jest.mock('@src/libs/Navigation/Navigation', () => ({
42+
...require('@testUtils/createNavigationMock').default,
4243
dismissModalWithReport: jest.fn(),
4344
getTopmostReportId: jest.fn(),
44-
isNavigationReady: jest.fn(() => Promise.resolve()),
4545
isDisplayedInModal: jest.fn(() => false),
46-
getActiveRouteWithoutParams: jest.fn(() => ''),
4746
}));
4847

4948
jest.mock('@src/hooks/useRootNavigationState', () => ({

tests/perf-test/SidebarLinks.perf-test.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,11 @@ import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatch
1111

1212
jest.mock('@libs/Permissions');
1313
jest.mock('../../src/libs/Navigation/Navigation', () => ({
14-
navigate: jest.fn(),
14+
...require('@testUtils/createNavigationMock').default,
1515
isActiveRoute: jest.fn(),
1616
getTopmostReportId: jest.fn(),
17-
getActiveRoute: jest.fn(),
1817
getTopmostReportActionId: jest.fn(),
19-
isNavigationReady: jest.fn(() => Promise.resolve()),
2018
isDisplayedInModal: jest.fn(() => false),
21-
getActiveRouteWithoutParams: jest.fn(() => ''),
2219
}));
2320
jest.mock('../../src/libs/Navigation/navigationRef', () => ({
2421
getState: () => ({

tests/perf-test/useAdvancedSearchFilters.perf-test.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,10 @@ jest.mock('@src/libs/API', () => ({
2727
}));
2828

2929
jest.mock('@src/libs/Navigation/Navigation', () => ({
30+
...require('@testUtils/createNavigationMock').default,
3031
dismissModalWithReport: jest.fn(),
3132
getTopmostReportId: jest.fn(),
32-
isNavigationReady: jest.fn(() => Promise.resolve()),
3333
isDisplayedInModal: jest.fn(() => false),
34-
getActiveRouteWithoutParams: jest.fn(() => ''),
3534
}));
3635

3736
jest.mock('@hooks/useExportedToFilterOptions', () => ({

tests/ui/AssignCardFeed.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@ jest.mock('react-native-plaid-link-sdk', () => ({
8181
}));
8282

8383
jest.mock('@libs/Navigation/Navigation', () => ({
84+
...require('@testUtils/createNavigationMock').default,
8485
navigate: jest.fn(),
85-
getActiveRouteWithoutParams: jest.fn(() => ''),
86-
isNavigationReady: jest.fn(() => Promise.resolve()),
8786
goBack: jest.fn(),
8887
setNavigationActionToMicrotaskQueue: jest.fn((callback: () => void) => callback?.()),
8988
dismissModal: jest.fn(),

tests/ui/AuthScreensInitHandlerTest.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,9 @@ jest.mock('@libs/PusherConnectionManager', () => ({
4040
jest.mock('@libs/Navigation/Navigation', () => ({
4141
__esModule: true,
4242
default: {
43+
...require('@testUtils/createNavigationMock').default,
4344
isActiveRoute: jest.fn(() => false),
4445
navigate: jest.fn(),
45-
getActiveRouteWithoutParams: jest.fn(() => ''),
46-
isNavigationReady: jest.fn(() => Promise.resolve()),
4746
setNavigationActionToMicrotaskQueue: jest.fn(() => Promise.resolve()),
4847
},
4948
}));

tests/ui/CategoryListItemHeaderTest.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@ import ONYXKEYS from '@src/ONYXKEYS';
1515
import waitForBatchedUpdatesWithAct from '../utils/waitForBatchedUpdatesWithAct';
1616

1717
jest.mock('@components/ConfirmedRoute.tsx');
18-
jest.mock('@libs/Navigation/Navigation', () => ({
19-
getActiveRouteWithoutParams: jest.fn(() => ''),
20-
isNavigationReady: jest.fn(() => Promise.resolve()),
21-
navigate: jest.fn(),
22-
getActiveRoute: jest.fn(() => ''),
23-
}));
2418

2519
// Mock useResponsiveLayout to control screen size in tests
2620
jest.mock('@hooks/useResponsiveLayout', () => jest.fn());

0 commit comments

Comments
 (0)