@@ -117,6 +117,14 @@ def _check_data_content(self, data, pickings):
117117 )
118118 else :
119119 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 )
120128 return True
121129
122130 def test_get_picking_logged_without_sale (self ):
@@ -172,3 +180,68 @@ def test_get_multi_picking(self):
172180 self .assertEqual (response .status_code , 200 )
173181 info = response .json ()
174182 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