@@ -3,132 +3,79 @@ jest.dontMock('components/Area/Area');
33jest . dontMock ( 'components/Error/Error' ) ;
44jest . dontMock ( 'react' ) ;
55jest . dontMock ( 'axios' ) ;
6+ jest . dontMock ( 'axios-mock-adapter' ) ;
7+ jest . dontMock ( 'services/Visit' ) ;
68jest . dontMock ( '../tests/__mocks__/AreasResponseMock' ) ;
79jest . dontMock ( 'enzyme' ) ;
810
911
1012describe ( 'Test Area' , ( ) => {
13+ require ( '../tests/__mocks__/LocalStorageMock' ) ;
14+
1115 const React = require ( 'react' ) ;
1216 const Enzyme = require ( 'enzyme' ) ;
1317 const shallow = Enzyme . shallow ;
18+ let axios = require ( 'axios' ) ;
19+ let MockAdapter = require ( 'axios-mock-adapter' ) ;
1420 let Visit = require ( 'services/Visit' ) . default ;
1521
1622 it ( 'Area should show error message' , ( done ) => {
1723
18- let error = { response :{ data :{ error :"Not Found" } } } ;
19- let promises = [ ] ;
24+ let response = { error :"Not Found" } ;
2025 let Area ;
2126 let component ;
27+ let mockAdapter = new MockAdapter ( axios ) ;
2228
23- promises . push (
24- ( ( ) => {
25- Visit . getGroupByArea = jest . genMockFunction ( ) . mockImplementation ( ( ) => {
26- return new Promise ( ( resolve , reject ) => {
27- throw error ;
28- } ) ;
29- } )
30- } ) ( )
31- ) ;
29+ mockAdapter . onGet ( 'http://localhost:3000/api/v1/visit/group/area' ) . reply ( 404 , response ) ;
3230
33- promises . push (
34- ( ( ) => {
35- Area = require ( 'components/Area/Area' ) . default ;
36- } ) ( )
37- ) ;
31+ Area = require ( 'components/Area/Area' ) . default ;
3832
39- promises . push (
40- ( ( ) => {
41- component = shallow (
42- < Area />
43- ) ;
44- } ) ( )
33+ component = shallow (
34+ < Area />
4535 ) ;
4636
47- Promise . all ( promises ) . then ( ( ) => {
48- expect ( component . state ( 'error' ) ) . toEqual ( 'Not Found' ) ;
49-
50- let errorComponent = shallow (
51- component . instance ( ) . generateError ( error . response . data . error )
52- ) ;
53-
54- expect ( errorComponent . find ( 'div' ) . text ( ) ) . toEqual ( 'Not Found' ) ;
37+ setTimeout ( ( ) => {
38+ expect ( component . render ( ) . text ( ) ) . toEqual ( 'Not Found' ) ;
5539 done ( ) ;
56- } ) . catch ( ( error ) => {
57- console . log ( error ) ;
58- } ) ;
40+ } , 0 ) ;
5941 } ) ;
6042
6143 it ( 'Area should show nothing if no data' , ( done ) => {
6244
63- let error = { data :{ error :"Not Found" } } ;
64- let promises = [ ] ;
6545 let Area ;
6646 let component ;
47+ let mockAdapter = new MockAdapter ( axios ) ;
6748
68- promises . push (
69- ( ( ) => {
70- Visit . getGroupByArea = jest . genMockFunction ( ) . mockImplementation ( ( ) => {
71- return new Promise ( ( resolve , reject ) => {
72- throw error ;
73- } ) ;
74- } )
75- } ) ( )
76- ) ;
49+ mockAdapter . onGet ( 'http://localhost:3000/api/v1/visit/group/area' ) . reply ( 404 , { } ) ;
7750
78- promises . push (
79- ( ( ) => {
80- Area = require ( 'components/Area/Area' ) . default ;
81- } ) ( )
82- ) ;
51+ Area = require ( 'components/Area/Area' ) . default ;
8352
84- promises . push (
85- ( ( ) => {
86- component = shallow (
87- < Area />
88- ) ;
89- } ) ( )
53+ component = shallow (
54+ < Area />
9055 ) ;
9156
92- Promise . all ( promises ) . then ( ( ) => {
57+ setTimeout ( ( ) => {
9358 expect ( component . state ( 'error' ) ) . toEqual ( '' ) ;
9459 done ( ) ;
95- } ) . catch ( ( error ) => {
96- console . log ( error ) ;
97- } ) ;
60+ } , 0 ) ;
9861 } ) ;
9962
10063 it ( 'Area should show mocked data' , ( done ) => {
10164
102- let response = { data :require ( 'AreasResponseMock' ) . default } ;
103- let promises = [ ] ;
65+ let response = require ( 'AreasResponseMock' ) . default ;
10466 let Area ;
10567 let component ;
68+ let mockAdapter = new MockAdapter ( axios ) ;
10669
107- promises . push (
108- ( ( ) => {
109- Visit . getGroupByArea = jest . genMockFunction ( ) . mockImplementation ( ( ) => {
110- return new Promise ( ( resolve , reject ) => {
111- resolve ( response ) ;
112- } ) ;
113- } )
114- } ) ( )
115- ) ;
70+ mockAdapter . onGet ( 'http://localhost:3000/api/v1/visit/group/area' ) . reply ( 200 , response ) ;
11671
117- promises . push (
118- ( ( ) => {
119- Area = require ( 'components/Area/Area' ) . default ;
120- } ) ( )
121- ) ;
72+ Area = require ( 'components/Area/Area' ) . default ;
12273
123- promises . push (
124- ( ( ) => {
125- component = shallow (
126- < Area />
127- ) ;
128- } ) ( )
74+ component = shallow (
75+ < Area />
12976 ) ;
13077
131- Promise . all ( promises ) . then ( ( ) => {
78+ setTimeout ( ( ) => {
13279 expect (
13380 shallow (
13481 component . state ( ) . areas [ 0 ]
@@ -140,9 +87,7 @@ describe('Test Area', () => {
14087 ) . find ( '.title' ) . at ( 0 ) . text ( )
14188 ) . toEqual ( 'South' ) ;
14289 done ( ) ;
143- } ) . catch ( ( error ) => {
144- console . log ( error ) ;
145- } ) ;
90+ } , 0 ) ;
14691 } ) ;
14792
14893} ) ;
0 commit comments