@@ -117,6 +117,14 @@ def _check_data_content(self, data, pickings):
117
117
)
118
118
else :
119
119
self .assertFalse (current_data .get ("delivery_date" ))
120
+
121
+ self .assertEqual (len (current_data .get ("lines" )), len (picking .move_ids ))
122
+ for line_data , line in zip (current_data .get ("lines" ), picking .move_ids ):
123
+ self .assertEqual (line_data .get ("product_id" ), line .product_id .id )
124
+ self .assertEqual (line_data .get ("product_name" ), line .product_id .name )
125
+ self .assertEqual (line_data .get ("state" ), line .state )
126
+ self .assertEqual (line_data .get ("qty" ), line .product_uom_qty )
127
+ self .assertEqual (line_data .get ("qty_done" ), line .quantity_done )
120
128
return True
121
129
122
130
def test_get_picking_logged_without_sale (self ):
@@ -172,3 +180,68 @@ def test_get_multi_picking(self):
172
180
self .assertEqual (response .status_code , 200 )
173
181
info = response .json ()
174
182
self ._check_data_content (info ["items" ], pickings )
183
+
184
+ def test_get_picking_search_name (self ):
185
+ picking1 = self ._create_picking (self .partner , sale = True )
186
+ self ._create_picking (self .partner , sale = True )
187
+
188
+ with self ._create_test_client (router = delivery_router ) as test_client :
189
+ response : Response = test_client .get (
190
+ "/deliveries" , params = {"name" : picking1 .name }
191
+ )
192
+ self .assertEqual (response .status_code , 200 )
193
+ info = response .json ()
194
+ self ._check_data_content (info ["items" ], picking1 )
195
+
196
+ def test_get_picking_search_tracking_ref (self ):
197
+ picking1 = self ._create_picking (self .partner , sale = True )
198
+ self ._create_picking (self .partner , sale = True )
199
+ self ._fill_picking_optional_values (picking1 )
200
+
201
+ with self ._create_test_client (router = delivery_router ) as test_client :
202
+ response : Response = test_client .get (
203
+ "/deliveries" ,
204
+ params = {"tracking_reference" : picking1 .carrier_tracking_ref },
205
+ )
206
+ self .assertEqual (response .status_code , 200 )
207
+ info = response .json ()
208
+ self ._check_data_content (info ["items" ], picking1 )
209
+
210
+ def test_get_picking_search_sale_id (self ):
211
+ picking1 = self ._create_picking (self .partner , sale = True )
212
+ self ._create_picking (self .partner , sale = True )
213
+ self ._fill_picking_optional_values (picking1 )
214
+
215
+ with self ._create_test_client (router = delivery_router ) as test_client :
216
+ response : Response = test_client .get (
217
+ "/deliveries" , params = {"sale_id" : picking1 .sale_id .id }
218
+ )
219
+ self .assertEqual (response .status_code , 200 )
220
+ info = response .json ()
221
+ self ._check_data_content (info ["items" ], picking1 )
222
+
223
+ def test_get_picking_search_carrier_id (self ):
224
+ picking1 = self ._create_picking (self .partner , sale = True )
225
+ self ._create_picking (self .partner , sale = True )
226
+ self ._fill_picking_optional_values (picking1 )
227
+
228
+ with self ._create_test_client (router = delivery_router ) as test_client :
229
+ response : Response = test_client .get (
230
+ "/deliveries" , params = {"carrier_id" : picking1 .carrier_id .id }
231
+ )
232
+ self .assertEqual (response .status_code , 200 )
233
+ info = response .json ()
234
+ self ._check_data_content (info ["items" ], picking1 )
235
+
236
+ def test_get_picking_search_state (self ):
237
+ picking1 = self ._create_picking (self .partner , sale = True )
238
+ self ._create_picking (self .partner , sale = True )
239
+ picking1 .action_cancel ()
240
+
241
+ with self ._create_test_client (router = delivery_router ) as test_client :
242
+ response : Response = test_client .get (
243
+ "/deliveries" , params = {"state" : "cancel" }
244
+ )
245
+ self .assertEqual (response .status_code , 200 )
246
+ info = response .json ()
247
+ self ._check_data_content (info ["items" ], picking1 )
0 commit comments