Skip to content

Commit 3e818f8

Browse files
committed
Icrease client tests
1 parent e1ddf35 commit 3e818f8

File tree

3 files changed

+35
-88
lines changed

3 files changed

+35
-88
lines changed

app/components/Client/List/Client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Client extends React.Component
2020
this.setState({clients: response.data.clients});
2121
}).catch((error) => {
2222
this.setState({error: 'Error Found: Trying get client'});
23-
if (error.response) {
23+
if (typeof error.response.data.error !== 'undefined') {
2424
this.setState({error: error.response.data.error});
2525
}
2626
});

tests/List.Client.test.js

Lines changed: 34 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -3,141 +3,90 @@ jest.dontMock('components/Client/List/Client');
33
jest.dontMock('components/Error/Error');
44
jest.dontMock('react');
55
jest.dontMock('axios');
6+
jest.dontMock('axios-mock-adapter');
67
jest.dontMock('enzyme');
7-
8+
jest.dontMock('services/Client');
89

910
describe('Test Client', () => {
11+
require('../tests/__mocks__/LocalStorageMock');
12+
1013
const React = require('react');
1114
const Enzyme = require('enzyme');
1215
const shallow = Enzyme.shallow;
13-
let ClientService = require('services/Client').default;
16+
17+
let axios = require('axios');
18+
let MockAdapter = require('axios-mock-adapter');
1419

1520
it('Client should show error message', (done) => {
1621

17-
let error = {response:{data:{error:"Client Not Found"}}};
18-
let promises = [];
22+
let response = {error:"Client Not Found"};
1923
let Client;
2024
let component;
25+
let mockAdapter = new MockAdapter(axios);
2126

22-
promises.push(
23-
(() => {
24-
ClientService.getClients = jest.genMockFunction().mockImplementation(() => {
25-
return new Promise((resolve, reject) => {
26-
throw error;
27-
});
28-
})
29-
})()
30-
);
27+
mockAdapter.onGet('http://localhost:3000/api/v1/client').reply(404, response);
3128

32-
promises.push(
33-
(() => {
34-
Client = require('components/Client/List/Client').default;
35-
})()
36-
);
29+
Client = require('components/Client/List/Client').default;
3730

38-
promises.push(
39-
(() => {
40-
component = shallow(
41-
<Client />
42-
);
43-
})()
31+
component = shallow(
32+
<Client />
4433
);
4534

46-
Promise.all(promises).then(() => {
35+
setTimeout(() => {
4736
component.update();
4837
expect(component.render().text()).toEqual('Client Not Found');
4938
done();
50-
}).catch((error) => {
51-
console.log(error);
52-
});
39+
}, 0);
5340
});
5441

5542
it('Client should show default error message', (done) => {
5643

57-
let error = {error:"Client Not Found"};
58-
let promises = [];
44+
let response = {};
5945
let Client;
6046
let component;
47+
let mockAdapter = new MockAdapter(axios);
6148

62-
promises.push(
63-
(() => {
64-
ClientService.getClients = jest.genMockFunction().mockImplementation(() => {
65-
return new Promise((resolve, reject) => {
66-
throw error;
67-
});
68-
})
69-
})()
70-
);
49+
mockAdapter.onGet('http://localhost:3000/api/v1/client').reply(503, response);
7150

72-
promises.push(
73-
(() => {
74-
Client = require('components/Client/List/Client').default;
75-
})()
76-
);
51+
Client = require('components/Client/List/Client').default;
7752

78-
promises.push(
79-
(() => {
80-
component = shallow(
81-
<Client />
82-
);
83-
})()
53+
component = shallow(
54+
<Client />
8455
);
8556

86-
Promise.all(promises).then(() => {
57+
setTimeout(() => {
8758
component.update();
8859
expect(component.render().text()).toEqual('Error Found: Trying get client');
8960
done();
90-
}).catch((error) => {
91-
console.log(error);
92-
});
61+
}, 0);
9362
});
9463

9564
it('Client should show mocked data', (done) => {
9665

9766
let response = {
98-
data: {
99-
clients: [
100-
{name: 'Jon Snow', address: '7 Street', city: 'Winterfell'},
101-
{name: 'Cotter Pyke', address: '0 Street', city: 'Castle Black'},
102-
]
103-
}
67+
clients: [
68+
{name: 'Jon Snow', address: '7 Street', city: 'Winterfell'},
69+
{name: 'Cotter Pyke', address: '0 Street', city: 'Castle Black'},
70+
]
10471
};
105-
let promises = [];
10672
let Client;
10773
let component;
74+
let mockAdapter = new MockAdapter(axios);
10875

109-
promises.push(
110-
(() => {
111-
ClientService.getClients = jest.genMockFunction().mockImplementation(() => {
112-
return new Promise((resolve, reject) => {
113-
resolve(response);
114-
});
115-
})
116-
})()
117-
);
76+
mockAdapter.onGet('http://localhost:3000/api/v1/client').reply(200, response);
11877

119-
promises.push(
120-
(() => {
121-
Client = require('components/Client/List/Client').default;
122-
})()
123-
);
78+
Client = require('components/Client/List/Client').default;
12479

125-
promises.push(
126-
(() => {
127-
component = shallow(
128-
<Client />
129-
);
130-
})()
80+
component = shallow(
81+
<Client />
13182
);
13283

133-
Promise.all(promises).then(() => {
84+
setTimeout(() => {
13485
component.update();
13586
expect(component.find('tbody td').at(0).text()).toEqual('Jon Snow');
13687
expect(component.find('tbody td').at(1).text()).toEqual('7 Street - Winterfell');
13788
done();
138-
}).catch((error) => {
139-
console.log(error);
140-
});
89+
}, 0);
14190
});
14291

14392
});

tests/Profile.Client.test.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ describe('Test Client', () => {
6565

6666
let id = '123abc';
6767
let response = { error:"Client Not Found" };
68-
let promises = [];
6968
let Client;
7069
let component;
7170
let mockAdapter = new MockAdapter(axios);
@@ -90,7 +89,6 @@ describe('Test Client', () => {
9089

9190
let id = '123abc';
9291
let response = {};
93-
let promises = [];
9492
let Client;
9593
let component;
9694
let mockAdapter = new MockAdapter(axios);

0 commit comments

Comments
 (0)