1
0
forked from erp-dev/erp

feat: printing orders and jobs filter with external_order_id

This commit is contained in:
2026-03-20 22:36:31 +08:00
parent fa9721762c
commit b58667ca52
5 changed files with 142 additions and 7 deletions

View File

@@ -491,6 +491,45 @@ class PrintingJobAPITestCase(TestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['product'], self.product.id)
def test_filter_by_external_order_id_and_serializer_field(self):
"""测试按所属订单 external_order_id 过滤,并返回该字段"""
self.printing_order.external_order_id = 'KD20410611'
self.printing_order.save(update_fields=['external_order_id'])
job = printing_models.PrintingJob.objects.create(
printing_order=self.printing_order,
product=self.product,
quantity=100,
unit='',
size='50*60',
pieces=10
)
other_order = printing_models.PrintingOrder.objects.create(
customer=self.customer,
fabric='其他布料',
width='160cm',
external_order_id='KD20419999'
)
printing_models.PrintingJob.objects.create(
printing_order=other_order,
product=self.product,
quantity=200,
unit='',
size='60*70',
pieces=20
)
response = self.client.get('/api/v1/printing-jobs/?external_order_id=KD20410611')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['id'], job.id)
self.assertEqual(response.data['results'][0]['external_order_id'], 'KD20410611')
detail = self.client.get(f'/api/v1/printing-jobs/{job.id}/')
self.assertEqual(detail.status_code, status.HTTP_200_OK)
self.assertEqual(detail.data['external_order_id'], 'KD20410611')
def test_filter_by_quantity_range(self):
"""测试按数量范围过滤"""