forked from erp-dev/erp
patch: patch testing (api & services)
This commit is contained in:
@@ -51,9 +51,9 @@ class StepBackTestCase(TestCase):
|
||||
success, _, _ = services.advance_to_next_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
|
||||
# 验证 current_state 是 state1(最后完成的状态)
|
||||
# 验证 current_state 是 state2(下一个待执行的状态)
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state1.name)
|
||||
self.assertEqual(current_state.name, self.state2.name)
|
||||
|
||||
# 回退一步
|
||||
success, message = services.step_back_one_state(self.business_object, self.user)
|
||||
@@ -63,7 +63,7 @@ class StepBackTestCase(TestCase):
|
||||
# 验证回到未开始状态
|
||||
self.assertEqual(services.get_overall_status(self.business_object), 'not_started')
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertIsNone(current_state)
|
||||
self.assertEqual(current_state.name, self.state1.name)
|
||||
|
||||
# 验证状态1的记录已被撤销
|
||||
record = models.StateFlowRecord.objects.filter(
|
||||
@@ -79,18 +79,18 @@ class StepBackTestCase(TestCase):
|
||||
services.advance_to_next_state(self.business_object, self.user)
|
||||
services.advance_to_next_state(self.business_object, self.user)
|
||||
|
||||
# 验证 current_state 是 state2(最后完成的状态)
|
||||
# 验证 current_state 是 state3(下一个待执行的状态)
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state2.name)
|
||||
self.assertEqual(current_state.name, self.state3.name)
|
||||
|
||||
# 回退一步
|
||||
success, message = services.step_back_one_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
self.assertIn('状态2', message)
|
||||
|
||||
# 验证 current_state 变为state1
|
||||
# 验证 current_state 变为 state2(下一个待执行的)
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state1.name)
|
||||
self.assertEqual(current_state.name, self.state2.name)
|
||||
|
||||
# 验证状态2的记录已被撤销
|
||||
record = models.StateFlowRecord.objects.filter(
|
||||
@@ -106,20 +106,20 @@ class StepBackTestCase(TestCase):
|
||||
services.advance_to_next_state(self.business_object, self.user)
|
||||
services.advance_to_next_state(self.business_object, self.user)
|
||||
|
||||
# 验证已完成,current_state 是 state3
|
||||
# 验证已完成,current_state 是 None(没有待执行的节点)
|
||||
self.assertEqual(services.get_overall_status(self.business_object), 'completed')
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state3.name)
|
||||
self.assertIsNone(current_state)
|
||||
|
||||
# 回退一步
|
||||
success, message = services.step_back_one_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
self.assertIn('状态3', message)
|
||||
|
||||
# 验证回到进行中状态,current_state 变为state2
|
||||
# 验证回到进行中状态,current_state 变为 state3(下一个待执行的)
|
||||
self.assertEqual(services.get_overall_status(self.business_object), 'in_progress')
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state2.name)
|
||||
self.assertEqual(current_state.name, self.state3.name)
|
||||
|
||||
def test_step_back_multiple_times(self):
|
||||
"""测试多次回退"""
|
||||
@@ -132,13 +132,13 @@ class StepBackTestCase(TestCase):
|
||||
success, _ = services.step_back_one_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
current = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current.name, self.state2.name)
|
||||
self.assertEqual(current.name, self.state3.name)
|
||||
|
||||
# 第二次回退(撤销 state2)
|
||||
success, _ = services.step_back_one_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
current = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current.name, self.state1.name)
|
||||
self.assertEqual(current.name, self.state2.name) # 下一个待执行的是 state2
|
||||
|
||||
# 第三次回退
|
||||
success, _ = services.step_back_one_state(self.business_object, self.user)
|
||||
@@ -163,9 +163,9 @@ class StepBackTestCase(TestCase):
|
||||
success, _, _ = services.advance_to_next_state(self.business_object, self.user)
|
||||
self.assertTrue(success)
|
||||
|
||||
# 验证 current_state 是 state2(最后完成的)
|
||||
# 验证 current_state 是 state3(下一个待执行的)
|
||||
current_state = services.get_business_object_current_state(self.business_object)
|
||||
self.assertEqual(current_state.name, self.state2.name)
|
||||
self.assertEqual(current_state.name, self.state3.name)
|
||||
|
||||
def test_step_back_preserves_history(self):
|
||||
"""测试回退操作保留历史记录"""
|
||||
|
||||
Reference in New Issue
Block a user