master
1import 'react-native';
2import React, { Component } from 'react';
3import Router from '../router';
4import renderer from 'react-test-renderer';
5
6describe("Router", () => {
7 class MyComponent extends Component { }
8
9 let subject = null;
10 beforeEach(() => {
11 eventAggregator = {}
12 subject = new Router({ eventAggregator });
13 });
14
15 describe("#routeTo", () => {
16 let params = { personId: 1 };
17 let route = { component: MyComponent, params: params };
18 let navigator = {};
19
20 it("renders a new component", () => {
21 result = subject.routeTo(route, navigator);
22 expect(result.type).toEqual(MyComponent);
23 });
24
25 it ("attaches the navigator", () => {
26 result = subject.routeTo(route, navigator);
27 expect(result.props.navigator).toEqual(navigator);
28 });
29
30 it ("attaches each of the router dependencies", function() {
31 result = subject.routeTo(route, navigator);
32 expect(result.props.eventAggregator).toEqual(eventAggregator);
33 });
34
35 it ("attaches each of the route params", function() {
36 result = subject.routeTo(route, navigator);
37 expect(result.props.personId).toEqual(params.personId);
38 });
39 });
40});