diff --git a/packages/react-navigation/src/navigators/__tests__/.eslintrc b/packages/react-navigation/src/navigators/__tests__/.eslintrc
new file mode 100644
index 00000000..2d17718b
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/.eslintrc
@@ -0,0 +1,6 @@
+{
+ "extends": "../../../.eslintrc",
+ "env": {
+ "jest": true
+ },
+}
diff --git a/packages/react-navigation/src/navigators/__tests__/DrawerNavigator-test.js b/packages/react-navigation/src/navigators/__tests__/DrawerNavigator-test.js
new file mode 100644
index 00000000..11505e43
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/DrawerNavigator-test.js
@@ -0,0 +1,33 @@
+import React, { Component } from 'react';
+import { View } from 'react-native';
+import renderer from 'react-test-renderer';
+
+import DrawerNavigator from '../DrawerNavigator';
+
+class HomeScreen extends Component {
+ static navigationOptions = ({ navigation }) => ({
+ title: `Welcome ${navigation.state.params
+ ? navigation.state.params.user
+ : 'anonymous'}`,
+ gesturesEnabled: true,
+ });
+
+ render() {
+ return null;
+ }
+}
+
+const routeConfig = {
+ Home: {
+ screen: HomeScreen,
+ },
+};
+
+describe('DrawerNavigator', () => {
+ it('renders successfully', () => {
+ const MyDrawerNavigator = DrawerNavigator(routeConfig);
+ const rendered = renderer.create().toJSON();
+
+ expect(rendered).toMatchSnapshot();
+ });
+});
diff --git a/packages/react-navigation/src/navigators/__tests__/StackNavigator-test.js b/packages/react-navigation/src/navigators/__tests__/StackNavigator-test.js
new file mode 100644
index 00000000..ca3775e1
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/StackNavigator-test.js
@@ -0,0 +1,33 @@
+import React, { Component } from 'react';
+import { View } from 'react-native';
+import renderer from 'react-test-renderer';
+
+import StackNavigator from '../StackNavigator';
+
+class HomeScreen extends Component {
+ static navigationOptions = ({ navigation }) => ({
+ title: `Welcome ${navigation.state.params
+ ? navigation.state.params.user
+ : 'anonymous'}`,
+ gesturesEnabled: true,
+ });
+
+ render() {
+ return null;
+ }
+}
+
+const routeConfig = {
+ Home: {
+ screen: HomeScreen,
+ },
+};
+
+describe('StackNavigator', () => {
+ it('renders successfully', () => {
+ const MyStackNavigator = StackNavigator(routeConfig);
+ const rendered = renderer.create().toJSON();
+
+ expect(rendered).toMatchSnapshot();
+ });
+});
diff --git a/packages/react-navigation/src/navigators/__tests__/TabNavigator-test.js b/packages/react-navigation/src/navigators/__tests__/TabNavigator-test.js
new file mode 100644
index 00000000..e8ccd551
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/TabNavigator-test.js
@@ -0,0 +1,33 @@
+import React, { Component } from 'react';
+import { View } from 'react-native';
+import renderer from 'react-test-renderer';
+
+import TabNavigator from '../TabNavigator';
+
+class HomeScreen extends Component {
+ static navigationOptions = ({ navigation }) => ({
+ title: `Welcome ${navigation.state.params
+ ? navigation.state.params.user
+ : 'anonymous'}`,
+ gesturesEnabled: true,
+ });
+
+ render() {
+ return null;
+ }
+}
+
+const routeConfig = {
+ Home: {
+ screen: HomeScreen,
+ },
+};
+
+describe('TabNavigator', () => {
+ it('renders successfully', () => {
+ const MyTabNavigator = TabNavigator(routeConfig);
+ const rendered = renderer.create().toJSON();
+
+ expect(rendered).toMatchSnapshot();
+ });
+});
diff --git a/packages/react-navigation/src/navigators/__tests__/__snapshots__/DrawerNavigator-test.js.snap b/packages/react-navigation/src/navigators/__tests__/__snapshots__/DrawerNavigator-test.js.snap
new file mode 100644
index 00000000..2bdfefac
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/__snapshots__/DrawerNavigator-test.js.snap
@@ -0,0 +1,168 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`DrawerNavigator renders successfully 1`] = `
+
+
+
+
+
+
+
+
+
+ Welcome anonymous
+
+
+
+
+
+
+
+`;
diff --git a/packages/react-navigation/src/navigators/__tests__/__snapshots__/StackNavigator-test.js.snap b/packages/react-navigation/src/navigators/__tests__/__snapshots__/StackNavigator-test.js.snap
new file mode 100644
index 00000000..ee5782fe
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/__snapshots__/StackNavigator-test.js.snap
@@ -0,0 +1,205 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`StackNavigator renders successfully 1`] = `
+
+
+
+
+
+
+
+
+
+
+ Welcome anonymous
+
+
+
+
+
+
+
+`;
diff --git a/packages/react-navigation/src/navigators/__tests__/__snapshots__/TabNavigator-test.js.snap b/packages/react-navigation/src/navigators/__tests__/__snapshots__/TabNavigator-test.js.snap
new file mode 100644
index 00000000..d0150fcb
--- /dev/null
+++ b/packages/react-navigation/src/navigators/__tests__/__snapshots__/TabNavigator-test.js.snap
@@ -0,0 +1,165 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`TabNavigator renders successfully 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Welcome anonymous
+
+
+
+
+`;