import * as React from 'react'; import renderer from 'react-test-renderer'; import { createAppContainer } from 'react-navigation'; import StackNavigator from '../createStackNavigator'; const SubNavigator = StackNavigator({ Home: { screen: () => null, }, }); const NavNestedDirect = StackNavigator({ Sub: { screen: SubNavigator, }, }); const NavNestedIndirect = StackNavigator({ Sub: { screen: (props: any) => , }, }); /* Prevent React error boundaries from swallowing the errors */ NavNestedIndirect.prototype.componentDidCatch = null; SubNavigator.prototype.componentDidCatch = null; describe('Nested navigators', () => { it('renders succesfully as direct child', () => { const NavApp = createAppContainer(NavNestedDirect); const rendered = renderer.create().toJSON(); expect(rendered).toMatchSnapshot(); }); it('throw when trying to pass navigation prop', () => { const tryRender = () => { const NavApp = createAppContainer(NavNestedIndirect); renderer.create(); }; expect(tryRender).toThrowErrorMatchingSnapshot(); }); });