@@ -19,6 +19,7 @@ describe('BaseProxy', () => {
1919 BaseProxy . $http = axios
2020 proxy = new PostProxy ( )
2121 mockAdapter = new MockAdapter ( axios )
22+ mockAdapter . reset ( )
2223 } )
2324
2425 it ( 'check if http was installed' , async ( ) => {
@@ -72,6 +73,15 @@ describe('BaseProxy', () => {
7273 expect ( data ) . toEqual ( items )
7374 } )
7475
76+ it ( 'Check network server return 500' , async ( ) => {
77+ mockAdapter . onGet ( '/posts' ) . networkError ( )
78+ try {
79+ await proxy . all ( )
80+ } catch ( e ) {
81+ expect ( e . message ) . toBe ( 'Network Error' )
82+ }
83+ } )
84+
7585 it ( 'will fetch all records with query params' , async ( ) => {
7686 const items = [
7787 { first_name : 'Dara' , last_name : 'Hok' , id : 1 } ,
@@ -120,6 +130,26 @@ describe('BaseProxy', () => {
120130 . all ( )
121131 expect ( data ) . toEqual ( items )
122132 } )
133+ it ( 'it should accept query params as object' , async ( ) => {
134+ const items = [
135+ { first_name : 'Dara' , last_name : 'Hok' , id : 1 } ,
136+ { first_name : 'Chantouch' , last_name : 'Sek' , id : 2 } ,
137+ ]
138+ mockAdapter
139+ . onGet ( '/posts?search[id]=1&first_name=Dara' )
140+ . reply ( 200 , { data : items } )
141+ const params = {
142+ search : { id : 1 } ,
143+ first_name : 'Dara' ,
144+ last_name : 'Hok' ,
145+ }
146+ const { data } = await proxy
147+ . setParameters ( params )
148+ . removeParameters ( [ 'last_name' ] )
149+ . all ( )
150+ expect ( data ) . toEqual ( items )
151+ expect ( proxy . parameters ) . toEqual ( { search : { id : 1 } , first_name : 'Dara' } )
152+ } )
123153
124154 it ( 'it should find an item by id' , async ( ) => {
125155 const item = { first_name : 'Chantouch' , last_name : 'Sek' , id : 1 }
@@ -145,13 +175,14 @@ describe('BaseProxy', () => {
145175
146176 it ( 'transforms the data to a FormData object if there is a File' , async ( ) => {
147177 const file = new File ( [ 'hello world!' ] , 'myfile' )
148- const form = { field1 : { } , field2 : { } }
178+ const form = { field1 : { } , field2 : { } , files : [ ] }
149179 form . field1 = {
150180 foo : 'testFoo' ,
151181 bar : [ 'testBar1' , 'testBar2' ] ,
152182 baz : new Date ( Date . UTC ( 2012 , 3 , 13 , 2 , 12 ) ) ,
153183 }
154184 form . field2 = file
185+ form . files = [ { file } ]
155186
156187 mockAdapter . onPost ( '/posts' ) . reply ( ( request ) => {
157188 expect ( request . data ) . toBeInstanceOf ( FormData )
@@ -160,13 +191,15 @@ describe('BaseProxy', () => {
160191 expect ( request . data . get ( 'field1[bar][1]' ) ) . toBe ( 'testBar2' )
161192 expect ( request . data . get ( 'field1[baz]' ) ) . toBe ( '2012-04-13T02:12:00.000Z' )
162193 expect ( request . data . get ( 'field2' ) ) . toEqual ( file )
194+ expect ( request . data . get ( 'files[0][file]' ) ) . toEqual ( file )
163195
164196 expect ( getFormDataKeys ( request . data ) ) . toEqual ( [
165197 'field1[foo]' ,
166198 'field1[bar][0]' ,
167199 'field1[bar][1]' ,
168200 'field1[baz]' ,
169201 'field2' ,
202+ 'files[0][file]' ,
170203 ] )
171204 return [ 200 , { } ]
172205 } )
0 commit comments