forked from erp-dev/erp
clean: after all tests and fix them.
This commit is contained in:
@@ -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/')
|
||||
|
||||
Reference in New Issue
Block a user