1
0
forked from erp-dev/erp

clean: after all tests and fix them.

This commit is contained in:
2025-12-25 22:02:30 +08:00
parent c0277a8218
commit 67698dfa71
4 changed files with 58 additions and 37 deletions

View File

@@ -476,10 +476,17 @@ class BusinessObjectNewAPITestCase(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)
# 创建业务对象
# 创建关联对象(使用 State 作为示例,因为它是 stateflow 模块内的模型)
from django.contrib.contenttypes.models import ContentType
self.linked_object = models.State.objects.create(name='关联对象')
content_type = ContentType.objects.get_for_model(self.linked_object)
# 创建业务对象并绑定关联对象
self.business_object = models.BusinessObject.objects.create(
name='测试业务对象',
process=self.process
process=self.process,
content_type=content_type,
object_id=self.linked_object.id
)
def test_next_pending_state_api(self):
@@ -502,18 +509,22 @@ class BusinessObjectNewAPITestCase(TestCase):
self.assertNotIn('parameters', response.data)
# 推进一步(提供必填参数)
self.client.post(
advance_response = self.client.post(
f'/api/v1/stateflow/business-objects/{self.business_object.id}/advance/',
{'parameters': {'param1': 'test_value'}},
format='json'
)
# 确保推进成功
self.assertEqual(advance_response.status_code, status.HTTP_200_OK,
f"Advance failed: {advance_response.data}")
# 应返回第二个节点
response = self.client.get(
f'/api/v1/stateflow/business-objects/{self.business_object.id}/next_pending_state/'
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data['state']['id'], self.state2.id)
self.assertEqual(response.data['state']['id'], self.state2.id,
f"Expected state2 (id={self.state2.id}), got {response.data['state']['id']}")
# 完成所有节点
self.client.post(f'/api/v1/stateflow/business-objects/{self.business_object.id}/advance/')