forked from erp-dev/erp
feat: query all process nodes for business_object
This commit is contained in:
@@ -288,3 +288,33 @@ class StateFlowServicesTestCase(TestCase):
|
||||
self.state3.parameters.add(required_param)
|
||||
params = services.get_state_parameters(self.state3, required_only=True)
|
||||
self.assertEqual(len(params), 1)
|
||||
|
||||
def test_get_process_nodes(self):
|
||||
"""测试获取业务对象所属流程的所有状态节点"""
|
||||
# 获取流程节点
|
||||
nodes = services.get_process_nodes(self.business_object)
|
||||
|
||||
# 验证节点数量
|
||||
self.assertEqual(len(nodes), 3)
|
||||
|
||||
# 验证节点顺序和内容
|
||||
self.assertEqual(nodes[0]['state_id'], self.state1.id)
|
||||
self.assertEqual(nodes[0]['state_name'], self.state1.name)
|
||||
self.assertEqual(nodes[0]['order'], 0)
|
||||
|
||||
self.assertEqual(nodes[1]['state_id'], self.state2.id)
|
||||
self.assertEqual(nodes[1]['state_name'], self.state2.name)
|
||||
self.assertEqual(nodes[1]['order'], 1)
|
||||
|
||||
self.assertEqual(nodes[2]['state_id'], self.state3.id)
|
||||
self.assertEqual(nodes[2]['state_name'], self.state3.name)
|
||||
self.assertEqual(nodes[2]['order'], 2)
|
||||
|
||||
# 验证每个节点都有必要的字段
|
||||
for node in nodes:
|
||||
self.assertIn('id', node)
|
||||
self.assertIn('state', node)
|
||||
self.assertIn('state_id', node)
|
||||
self.assertIn('state_name', node)
|
||||
self.assertIn('order', node)
|
||||
self.assertIsInstance(node['state'], models.State)
|
||||
|
||||
Reference in New Issue
Block a user