forked from erp-dev/erp
feat: new api for plate order (get_plate_order_by_state_status)
This commit is contained in:
@@ -6,6 +6,7 @@ from django.test import TestCase
|
||||
from rest_framework.test import APIClient
|
||||
from rest_framework import status
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from stateflow import models, services
|
||||
|
||||
User = get_user_model()
|
||||
@@ -45,10 +46,14 @@ class BusinessObjectAPITestCase(TestCase):
|
||||
models.ProcessNode.objects.create(process=self.process, state=self.state2, order=1)
|
||||
models.ProcessNode.objects.create(process=self.process, state=self.state3, order=2)
|
||||
|
||||
self.process_content_type = ContentType.objects.get_for_model(models.Process)
|
||||
|
||||
# 创建业务对象
|
||||
self.business_object = models.BusinessObject.objects.create(
|
||||
name='测试业务对象',
|
||||
process=self.process
|
||||
process=self.process,
|
||||
content_type=self.process_content_type,
|
||||
object_id=self.process.id,
|
||||
)
|
||||
|
||||
def test_reset_api(self):
|
||||
@@ -178,7 +183,6 @@ class BusinessObjectAPITestCase(TestCase):
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertTrue(response.data['success'])
|
||||
self.assertIn('parameter_record', response.data)
|
||||
@@ -275,35 +279,28 @@ class BusinessObjectAPITestCase(TestCase):
|
||||
|
||||
# 验证记录列表
|
||||
self.assertEqual(len(response.data['records']), 3)
|
||||
|
||||
def test_get_log_parameters_api_by_key(self):
|
||||
"""测试获取指定参数的历史记录 API"""
|
||||
# 推进并提供初始参数
|
||||
def test_get_log_parameters_api_key_history(self):
|
||||
"""测试获取指定参数 key 的历史记录"""
|
||||
response = self.client.post(
|
||||
f'/api/v1/stateflow/business-objects/{self.business_object.id}/advance/',
|
||||
{'parameters': {'temperature': '25.5'}},
|
||||
format='json'
|
||||
)
|
||||
|
||||
state_log_id = response.data['state_log']['id']
|
||||
|
||||
# 补充参数
|
||||
|
||||
self.client.post(
|
||||
f'/api/v1/stateflow/business-objects/{self.business_object.id}/state-logs/{state_log_id}/add-parameters/',
|
||||
{
|
||||
'parameters': {'temperature': '26.0', 'humidity': '65%'},
|
||||
'parameters': {'temperature': '26.0'},
|
||||
'remark': '重测'
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
|
||||
# 获取 temperature 的历史
|
||||
|
||||
response = self.client.get(
|
||||
f'/api/v1/stateflow/business-objects/{self.business_object.id}/state-logs/{state_log_id}/parameters/?key=temperature'
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(response.data['key'], 'temperature')
|
||||
self.assertEqual(len(response.data['history']), 2)
|
||||
self.assertEqual(response.data['history'][0]['value'], '25.5')
|
||||
self.assertEqual(response.data['history'][1]['value'], '26.0')
|
||||
@@ -673,7 +670,9 @@ class BusinessObjectAPITestCase(TestCase):
|
||||
empty_process = models.Process.objects.create(name='空流程')
|
||||
empty_business_object = models.BusinessObject.objects.create(
|
||||
name='空业务对象',
|
||||
process=empty_process
|
||||
process=empty_process,
|
||||
content_type=self.process_content_type,
|
||||
object_id=empty_process.id,
|
||||
)
|
||||
|
||||
# 尝试推进(应该失败)
|
||||
|
||||
Reference in New Issue
Block a user