File tree Expand file tree Collapse file tree 6 files changed +76
-11
lines changed Expand file tree Collapse file tree 6 files changed +76
-11
lines changed Original file line number Diff line number Diff 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 } ) ;
Original file line number Diff line number Diff 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 >
Original file line number Diff line number Diff 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 :
Original file line number Diff line number Diff line change 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" ,
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 ) ;
You can’t perform that action at this time.
0 commit comments