Skip to content

Commit da2e668

Browse files
authored
Merge pull request #51530 from Anaslancer/storybook-run-without-error
Storybook run without error
2 parents f92f184 + 06eab28 commit da2e668

File tree

1 file changed

+19
-13
lines changed
  • __mocks__/@react-navigation/native

1 file changed

+19
-13
lines changed

__mocks__/@react-navigation/native/index.ts

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ const {triggerTransitionEnd, addListener} = isJestEnv
1616
addListener: () => {},
1717
};
1818

19+
const realOrMockedUseNavigation = isJestEnv ? realReactNavigation.useNavigation : {};
1920
const useNavigation = () => ({
20-
...realReactNavigation.useNavigation,
21-
navigate: jest.fn(),
21+
...realOrMockedUseNavigation,
22+
navigate: isJestEnv ? jest.fn() : () => {},
2223
getState: () => ({
2324
routes: [],
2425
}),
@@ -30,17 +31,20 @@ type NativeNavigationMock = typeof ReactNavigation & {
3031
};
3132

3233
export * from '@react-navigation/core';
33-
const Link = realReactNavigation.Link;
34-
const LinkingContext = realReactNavigation.LinkingContext;
35-
const NavigationContainer = realReactNavigation.NavigationContainer;
36-
const ServerContainer = realReactNavigation.ServerContainer;
37-
const DarkTheme = realReactNavigation.DarkTheme;
38-
const DefaultTheme = realReactNavigation.DefaultTheme;
39-
const ThemeProvider = realReactNavigation.ThemeProvider;
40-
const useLinkBuilder = realReactNavigation.useLinkBuilder;
41-
const useLinkProps = realReactNavigation.useLinkProps;
42-
const useLinkTo = realReactNavigation.useLinkTo;
43-
const useScrollToTop = realReactNavigation.useScrollToTop;
34+
const Link = isJestEnv ? realReactNavigation.Link : () => null;
35+
const LinkingContext = isJestEnv ? realReactNavigation.LinkingContext : () => null;
36+
const NavigationContainer = isJestEnv ? realReactNavigation.NavigationContainer : () => null;
37+
const ServerContainer = isJestEnv ? realReactNavigation.ServerContainer : () => null;
38+
const DarkTheme = isJestEnv ? realReactNavigation.DarkTheme : {};
39+
const DefaultTheme = isJestEnv ? realReactNavigation.DefaultTheme : {};
40+
const ThemeProvider = isJestEnv ? realReactNavigation.ThemeProvider : () => null;
41+
const useLinkBuilder = isJestEnv ? realReactNavigation.useLinkBuilder : () => null;
42+
const useLinkProps = isJestEnv ? realReactNavigation.useLinkProps : () => null;
43+
const useLinkTo = isJestEnv ? realReactNavigation.useLinkTo : () => null;
44+
const useScrollToTop = isJestEnv ? realReactNavigation.useScrollToTop : () => null;
45+
const useRoute = isJestEnv ? realReactNavigation.useRoute : () => ({params: {}});
46+
const useFocusEffect = isJestEnv ? realReactNavigation.useFocusEffect : (callback: () => void) => callback();
47+
4448
export {
4549
// Overriden modules
4650
useIsFocused,
@@ -60,6 +64,8 @@ export {
6064
useLinkProps,
6165
useLinkTo,
6266
useScrollToTop,
67+
useRoute,
68+
useFocusEffect,
6369
};
6470

6571
export type {NativeNavigationMock};

0 commit comments

Comments
 (0)