Skip to content

Commit 0a9a808

Browse files
Merge branch 'develop' of https://github.com/highideas/iClient-react into develop
2 parents a82b7c5 + e55a540 commit 0a9a808

File tree

6 files changed

+76
-11
lines changed

6 files changed

+76
-11
lines changed

app/components/Area/Create/Area.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,13 @@ class Area extends React.Component
2121
e.preventDefault();
2222

2323
let form = e.target;
24+
let parent = '';
25+
if (form.querySelector('[name="parent"]')) {
26+
parent = form.querySelector('[name="parent"]').value;
27+
}
2428
let formData = {
2529
_id : this.refs.area.value,
26-
parent: form.querySelector('[name="parent"]').value
30+
parent: parent
2731
};
2832

2933
this.setState({area: formData});

app/components/Area/List/Area.js

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ class Area extends React.Component
1313
areas : null,
1414
error : ''
1515
};
16+
this.showError = this.showError.bind(this);
17+
this.listAreas = this.listAreas.bind(this);
1618
this.getAreas();
1719
}
1820

@@ -27,15 +29,11 @@ class Area extends React.Component
2729
});
2830
}
2931

30-
render() {
32+
listAreas() {
3133
if (this.state.error) {
32-
return (<Error error={this.state.error} />);
33-
}
34-
if (!this.state.areas) {
35-
return <div>Loading...</div>;
34+
return '';
3635
}
37-
const areaList = this.state.areas.map((area, key) => {
38-
let line = ((key % 2) ? 'is-success' : 'is-info');
36+
return this.state.areas.map((area, key) => {
3937
return (
4038
<tr key={key}>
4139
<td>
@@ -44,10 +42,24 @@ class Area extends React.Component
4442
</tr>
4543
);
4644
});
45+
}
46+
47+
showError() {
48+
if (this.state.error) {
49+
return (<Error error={this.state.error} />);
50+
}
51+
return '';
52+
}
53+
54+
render() {
55+
if (!this.state.areas && !this.state.error) {
56+
return <div>Loading...</div>;
57+
}
4758

4859
return (
4960
<section className="">
5061
<div className="container hello">
62+
{ this.showError() }
5163
<div className="level header">
5264
<div className="level-left">
5365
<h2 className="title is-2">Areas</h2>
@@ -63,7 +75,7 @@ class Area extends React.Component
6375
</div>
6476
<table className="table">
6577
<tbody>
66-
{ areaList }
78+
{ this.listAreas() }
6779
</tbody>
6880
</table>
6981
</div>

docker-compose.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ services:
44
image: node:6.7.0
55
container_name: iClientReact
66
restart: always
7+
environment:
8+
- HOST=${HOST_SERVER_ICLIENT}
9+
- jsonStubHeaders=${jsonStubHeadersIClient}
710
ports:
811
- "8081:80"
912
volumes:

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
},
3838
"scripts": {
3939
"test": "jest",
40+
"build": "webpack",
4041
"webpack": "webpack -w",
4142
"serve": "http-server -o -c 1 -p 80",
4243
"dev": "npm-run-all --parallel webpack serve",

tests/Create.Area.test.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,5 +256,50 @@ describe('Test Create Area', () => {
256256
}
257257
}, 0);
258258
});
259+
260+
it('Should return data on submit when first time using areas', (done) => {
261+
262+
let areaInput;
263+
let areaSelected;
264+
let Area = require('components/Area/Create/Area').default;
265+
let mockAdapter = new MockAdapter(axios);
266+
let component = mount(
267+
<Area />,
268+
{ context }
269+
);
270+
let expected = {
271+
_id : 'Test',
272+
parent : '',
273+
}
274+
275+
mockAdapter
276+
.onGet(HOST + '/api/v1/area').reply(404, {error: "Not Found"})
277+
.onPost(HOST + '/api/v1/area').reply(201)
278+
279+
setTimeout(() => {
280+
281+
try {
282+
283+
let inputs = {
284+
area : component.find('input'),
285+
parent : component.find('select'),
286+
}
287+
288+
areaInput = component.find('input');
289+
areaInput.node.value = 'Test';
290+
areaInput.simulate('change', areaInput);
291+
292+
expect(component.find('.is-danger').text()).toEqual('Not Found');
293+
294+
component.find('form').simulate('submit', { target: component.find('form').get(0) });
295+
296+
expect(component.state().area).toEqual(expected);
297+
expect(component.state().error).toEqual('');
298+
done();
299+
} catch (e) {
300+
console.log(e);
301+
}
302+
}, 25);
303+
});
259304
});
260305

tests/List.Area.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('Test Area', () => {
3535
setTimeout(() => {
3636
try {
3737
component.update();
38-
expect(component.render().text()).toEqual('Area Not Found');
38+
expect(component.render().find('.is-danger').text()).toEqual('Area Not Found');
3939
done();
4040
} catch (e) {
4141
console.log(e);
@@ -62,7 +62,7 @@ describe('Test Area', () => {
6262
setTimeout(() => {
6363
try {
6464
component.update();
65-
expect(component.render().text()).toEqual('Error Found: Trying get area');
65+
expect(component.render().find('.is-danger').text()).toEqual('Error Found: Trying get area');
6666
done();
6767
} catch (e) {
6868
console.log(e);

0 commit comments

Comments
 (0)