/
page.test.jsx
78 lines (70 loc) · 2.72 KB
/
page.test.jsx
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
* analysis.test.jsx: jest + enzyme test.
*
*/
import React from 'react';
import { MemoryRouter } from 'react-router';
import Enzyme, { mount, shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import { Provider } from 'react-redux';
import MainRoute from '../../../../src/jsx/import/route/main-route.jsx';
import HomePageState from '../../../../src/jsx/import/redux/container/home-page.jsx';
import UserMenuState from '../../../../src/jsx/import/redux/container/user-menu.jsx';
import HeaderMenuState from '../../../../src/jsx/import/redux/container/header-menu.jsx';
import AnalysisLayoutState from '../../../../src/jsx/import/redux/container/analysis-layout.jsx';
import LoginLayout from '../../../../src/jsx/import/layout/login.jsx';
import RegisterLayout from '../../../../src/jsx/import/layout/register.jsx';
Enzyme.configure({ adapter: new Adapter() });
describe('PageLayout Component', () => {
const getStateFn = jest.fn();
it('should render home route', () => {
const wrapper = mount(
<Provider store={{getState: getStateFn}}>
<MemoryRouter initialEntries={[ '/' ]}>
<MainRoute/>
</MemoryRouter>
</Provider>
);
expect(wrapper.find(HomePageState)).toHaveLength(1);
});
it('should render login route', () => {
const wrapper = mount(
<Provider store={{getState: getStateFn}}>
<MemoryRouter initialEntries={[ '/login' ]}>
<MainRoute/>
</MemoryRouter>
</Provider>
);
expect(wrapper.find(LoginLayout)).toHaveLength(1);
});
it('should render logout route', () => {
const wrapper = mount(
<Provider store={{getState: getStateFn}}>
<MemoryRouter initialEntries={[ '/logout' ]}>
<MainRoute/>
</MemoryRouter>
</Provider>
);
expect(wrapper.find(LoginLayout)).toHaveLength(1);
});
it('should render register route', () => {
const wrapper = mount(
<Provider store={{getState: getStateFn}}>
<MemoryRouter initialEntries={[ '/register' ]}>
<MainRoute/>
</MemoryRouter>
</Provider>
);
expect(wrapper.find(RegisterLayout)).toHaveLength(1);
});
it('should render analysis route', () => {
const wrapper = mount(
<Provider store={{getState: getStateFn}}>
<MemoryRouter initialEntries={[ '/register' ]}>
<MainRoute/>
</MemoryRouter>
</Provider>
);
expect(wrapper.find(AnalysisLayoutState)).toHaveLength(1);
});
});