summaryrefslogtreecommitdiff
path: root/app/infrastructure/__tests__/router_spec.js
blob: 94efe458e65d27618d6f2ec9ad5930efd125f8eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import 'react-native';
import React, { Component } from 'react';
import Router from '../router';
import renderer from 'react-test-renderer';

describe("Router", () => {
  class MyComponent extends Component { }

  let subject = null;
  beforeEach(() => {
    eventAggregator = {}
    subject = new Router({ eventAggregator });
  });

  describe("#routeTo", () => {
    let params = { personId: 1 };
    let route = { component: MyComponent, params: params };
    let navigator = {};

    it("renders a new component", () => {
      result = subject.routeTo(route, navigator);
      expect(result.type).toEqual(MyComponent);
    });

    it ("attaches the navigator", () => {
      result = subject.routeTo(route, navigator);
      expect(result.props.navigator).toEqual(navigator);
    });

    it ("attaches each of the router dependencies", function() {
      result = subject.routeTo(route, navigator);
      expect(result.props.eventAggregator).toEqual(eventAggregator);
    });

    it ("attaches each of the route params", function() {
      result = subject.routeTo(route, navigator);
      expect(result.props.personId).toEqual(params.personId);
    });
  });
});