From 65efd662610fcad535247190648777a2a04de90c Mon Sep 17 00:00:00 2001 From: Rajat Parashar Date: Wed, 30 Mar 2022 20:24:21 +0530 Subject: [PATCH] Fix: StoryBook via mocking the navigationContext --- .storybook/preview.js | 2 ++ __mocks__/MockNavigationProvider.js | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 __mocks__/MockNavigationProvider.js diff --git a/.storybook/preview.js b/.storybook/preview.js index 65508e6bed71..f02e3938d182 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -6,6 +6,7 @@ import HTMLEngineProvider from '../src/components/HTMLEngineProvider'; import OnyxProvider from '../src/components/OnyxProvider'; import {LocaleContextProvider} from '../src/components/withLocalize'; import ONYXKEYS from '../src/ONYXKEYS'; +import MockNavigationProvider from '../__mocks__/MockNavigationProvider'; Onyx.init({ keys: ONYXKEYS, @@ -18,6 +19,7 @@ const decorators = [ OnyxProvider, LocaleContextProvider, HTMLEngineProvider, + MockNavigationProvider, ]} > diff --git a/__mocks__/MockNavigationProvider.js b/__mocks__/MockNavigationProvider.js new file mode 100644 index 000000000000..67d4790f6b89 --- /dev/null +++ b/__mocks__/MockNavigationProvider.js @@ -0,0 +1,24 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import {NavigationContext} from '@react-navigation/native'; + +const propTypes = { + /** Rendered child component */ + children: PropTypes.node.isRequired, +}; + +const MockNavigationProvider = props => ( + true, + addListener: () => {}, + removeListener: () => {}, + }} + > + {props.children} + +); + +MockNavigationProvider.propTypes = propTypes; + +export default MockNavigationProvider;