1
0
forked from erp-dev/erp

feat: added sales_items and external_products into shipments list api

This commit is contained in:
2026-01-15 17:27:30 +08:00
parent a0cd168397
commit 13c440a7fe
4 changed files with 68 additions and 2 deletions

View File

@@ -638,10 +638,22 @@ class ShipmentQueryAPITestCase(TestCase):
self.assertIn(self.shipment1.id, ids)
self.assertNotIn(self.shipment2.id, ids)
# 关键:列表序列化器必须稳定输出明细数组字段(即使为空)
item = next(it for it in data['results'] if it['id'] == self.shipment1.id)
self.assertIn('sales_items', item)
self.assertIsInstance(item['sales_items'], list)
self.assertIn('external_finished_products', item)
self.assertIsInstance(item['external_finished_products'], list)
def test_retrieve_shipment_success(self):
resp = self.client.get(f'/api/v1/shipment/shipments/{self.shipment1.id}/')
self.assertEqual(resp.status_code, status.HTTP_200_OK)
self.assertEqual(resp.json()['id'], self.shipment1.id)
result = resp.json()
self.assertEqual(result['id'], self.shipment1.id)
self.assertIn('sales_items', result)
self.assertIsInstance(result['sales_items'], list)
self.assertIn('external_finished_products', result)
self.assertIsInstance(result['external_finished_products'], list)
def test_retrieve_other_merchant_shipment_404(self):
resp = self.client.get(f'/api/v1/shipment/shipments/{self.shipment2.id}/')