1
0
forked from erp-dev/erp

feat: added search support fields for plate order query api

This commit is contained in:
2025-12-31 21:55:43 +08:00
parent 88046acf4f
commit 3dc7560434
2 changed files with 103 additions and 2 deletions

View File

@@ -579,6 +579,94 @@ class PlateOrderAPITestCase(TestCase):
else:
self.assertEqual(len(response.data), 1)
self.assertIn('花朵', response.data[0]['style_name'])
def test_search_by_plate_notes(self):
"""测试按打版注意事项搜索"""
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN001',
plate_notes='注意颜色偏差控制在5%以内',
)
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN002',
plate_notes='普通要求',
)
response = self.client.get('/api/v1/plate-orders/?search=颜色偏差')
self.assertEqual(response.status_code, status.HTTP_200_OK)
if isinstance(response.data, dict):
self.assertEqual(response.data['count'], 1)
self.assertIn('颜色偏差', response.data['results'][0]['plate_notes'])
else:
self.assertEqual(len(response.data), 1)
self.assertIn('颜色偏差', response.data[0]['plate_notes'])
def test_search_by_reprint_reason(self):
"""测试按复版原因搜索"""
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN001',
reprint_reason='客户要求更换底色为深蓝',
)
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN002',
reprint_reason='正常复版',
)
response = self.client.get('/api/v1/plate-orders/?search=深蓝')
self.assertEqual(response.status_code, status.HTTP_200_OK)
if isinstance(response.data, dict):
self.assertEqual(response.data['count'], 1)
self.assertIn('深蓝', response.data['results'][0]['reprint_reason'])
else:
self.assertEqual(len(response.data), 1)
self.assertIn('深蓝', response.data[0]['reprint_reason'])
def test_search_by_image_name(self):
"""测试按图片名称搜索"""
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN001',
image_name='夏季新款碎花图案',
)
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN002',
image_name='冬季格纹',
)
response = self.client.get('/api/v1/plate-orders/?search=碎花')
self.assertEqual(response.status_code, status.HTTP_200_OK)
if isinstance(response.data, dict):
self.assertEqual(response.data['count'], 1)
self.assertIn('碎花', response.data['results'][0]['image_name'])
else:
self.assertEqual(len(response.data), 1)
self.assertIn('碎花', response.data[0]['image_name'])
def test_search_by_default_address(self):
"""测试按默认地址搜索"""
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN001',
default_address='广东省深圳市南山区科技园',
)
printing_models.PlateOrder.objects.create(
customer=self.customer,
design_code='DESIGN002',
default_address='浙江省杭州市西湖区',
)
response = self.client.get('/api/v1/plate-orders/?search=南山区')
self.assertEqual(response.status_code, status.HTTP_200_OK)
if isinstance(response.data, dict):
self.assertEqual(response.data['count'], 1)
self.assertIn('南山区', response.data['results'][0]['default_address'])
else:
self.assertEqual(len(response.data), 1)
self.assertIn('南山区', response.data[0]['default_address'])
def test_ordering_by_created_at(self):
"""测试按创建时间排序"""