1
0
forked from erp-dev/erp

test: before all tests

This commit is contained in:
2025-12-25 21:36:50 +08:00
parent 147b5804d2
commit c0277a8218
18 changed files with 310 additions and 89 deletions

View File

@@ -146,10 +146,10 @@ class PrintingJobAPITestCase(TestCase):
response = self.client.get('/api/v1/printing-jobs/')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 2)
self.assertEqual(response.data['count'], 2)
# 新增字段:批量推进记录(稳定输出 key
for item in response.data:
for item in response.data['results']:
self.assertIn('batch_advance_records', item)
self.assertIsInstance(item['batch_advance_records'], list)
self.assertEqual(len(item['batch_advance_records']), 0)
@@ -202,7 +202,7 @@ class PrintingJobAPITestCase(TestCase):
# list: 应包含 batch_advance_records
response = self.client.get('/api/v1/printing-jobs/')
self.assertEqual(response.status_code, status.HTTP_200_OK)
target = next(item for item in response.data if item['id'] == job.id)
target = next(item for item in response.data['results'] if item['id'] == job.id)
self.assertIn('batch_advance_records', target)
self.assertEqual(len(target['batch_advance_records']), 1)
@@ -337,8 +337,8 @@ class PrintingJobAPITestCase(TestCase):
response = self.client.get(f'/api/v1/printing-jobs/?printing_order={self.printing_order.id}')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)
self.assertEqual(response.data[0]['printing_order'], self.printing_order.id)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['printing_order'], self.printing_order.id)
def test_filter_by_product(self):
"""测试按产品过滤"""
@@ -369,8 +369,8 @@ class PrintingJobAPITestCase(TestCase):
response = self.client.get(f'/api/v1/printing-jobs/?product={self.product.id}')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)
self.assertEqual(response.data[0]['product'], self.product.id)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['product'], self.product.id)
def test_filter_by_quantity_range(self):
"""测试按数量范围过滤"""
@@ -401,8 +401,8 @@ class PrintingJobAPITestCase(TestCase):
response = self.client.get('/api/v1/printing-jobs/?quantity_min=100&quantity_max=200')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)
self.assertEqual(response.data[0]['quantity'], 150)
self.assertEqual(response.data['count'], 1)
self.assertEqual(response.data['results'][0]['quantity'], 150)
def test_search_by_product_name(self):
"""测试按产品名称搜索"""
@@ -433,8 +433,8 @@ class PrintingJobAPITestCase(TestCase):
response = self.client.get('/api/v1/printing-jobs/?search=特殊')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.data), 1)
self.assertIn('特殊', response.data[0]['product_name'])
self.assertEqual(response.data['count'], 1)
self.assertIn('特殊', response.data['results'][0]['product_name'])
def test_ordering(self):
"""测试排序"""
@@ -458,13 +458,13 @@ class PrintingJobAPITestCase(TestCase):
# 按数量升序
response = self.client.get('/api/v1/printing-jobs/?ordering=quantity')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data[0]['quantity'], 100)
self.assertEqual(response.data[1]['quantity'], 200)
self.assertEqual(response.data['results'][0]['quantity'], 100)
self.assertEqual(response.data['results'][1]['quantity'], 200)
# 按数量降序
response = self.client.get('/api/v1/printing-jobs/?ordering=-quantity')
self.assertEqual(response.data[0]['quantity'], 200)
self.assertEqual(response.data[1]['quantity'], 100)
self.assertEqual(response.data['results'][0]['quantity'], 200)
self.assertEqual(response.data['results'][1]['quantity'], 100)
def test_validate_quantity_positive(self):
"""测试数量必须大于0"""
@@ -570,8 +570,8 @@ class PrintingJobAPITestCase(TestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
# 验证列表中的状态字段
self.assertIn('status', response.data[0])
self.assertIn('is_completed', response.data[0])
self.assertIn('status', response.data['results'][0])
self.assertIn('is_completed', response.data['results'][0])
def test_job_completion_status(self):
"""测试任务完成状态判断"""