forked from erp-dev/erp
patch: patch testing (api & services)
This commit is contained in:
@@ -134,26 +134,33 @@ class PlateOrder(ModelBase):
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
"""返回当前状态名称"""
|
||||
"""
|
||||
返回当前状态名称(下一个待执行的状态名称)
|
||||
|
||||
规则:
|
||||
- current_state 为 None:返回"已完成"(没有待执行的节点)
|
||||
- current_state 不为 None + 进度 0%:返回"未开始"
|
||||
- current_state 不为 None + 进度 > 0%:返回 current_state.name(正在进行)
|
||||
"""
|
||||
if not self.business_object:
|
||||
return '未开始'
|
||||
|
||||
current_state = self.business_object.get_current_state()
|
||||
|
||||
# current_state 为 None 有两种情况:未开始或已完成
|
||||
if current_state is None:
|
||||
# 检查是否有完成记录来区分
|
||||
has_completed_records = self.business_object.state_logs.filter(is_cancelled=False).exists()
|
||||
if has_completed_records:
|
||||
return '已完成'
|
||||
else:
|
||||
return '未开始'
|
||||
# 没有待执行的节点,已完成
|
||||
return '已完成'
|
||||
|
||||
# 有待执行的节点,配合进度判断是"未开始"还是"进行中"
|
||||
progress = self.business_object.get_progress_percentage()
|
||||
if progress == 0:
|
||||
return '未开始'
|
||||
|
||||
return current_state.name
|
||||
|
||||
@property
|
||||
def status_id(self):
|
||||
"""返回当前状态ID"""
|
||||
"""返回当前状态ID(下一个待执行的状态ID)"""
|
||||
if not self.business_object:
|
||||
return None
|
||||
current_state = self.business_object.get_current_state()
|
||||
@@ -291,26 +298,33 @@ class PrintingJob(ModelBase):
|
||||
|
||||
@property
|
||||
def status(self) -> str:
|
||||
"""返回当前状态名称"""
|
||||
"""
|
||||
返回当前状态名称(下一个待执行的状态名称)
|
||||
|
||||
规则:
|
||||
- current_state 为 None:返回"已完成"(没有待执行的节点)
|
||||
- current_state 不为 None + 进度 0%:返回"未开始"
|
||||
- current_state 不为 None + 进度 > 0%:返回 current_state.name(正在进行)
|
||||
"""
|
||||
if not self.business_object:
|
||||
return '未开始'
|
||||
|
||||
current_state = self.business_object.get_current_state()
|
||||
|
||||
# current_state 为 None 有两种情况:未开始或已完成
|
||||
if current_state is None:
|
||||
# 检查是否有完成记录来区分
|
||||
has_completed_records = self.business_object.state_logs.filter(is_cancelled=False).exists()
|
||||
if has_completed_records:
|
||||
return '已完成'
|
||||
else:
|
||||
return '未开始'
|
||||
# 没有待执行的节点,已完成
|
||||
return '已完成'
|
||||
|
||||
# 有待执行的节点,配合进度判断是"未开始"还是"进行中"
|
||||
progress = self.business_object.get_progress_percentage()
|
||||
if progress == 0:
|
||||
return '未开始'
|
||||
|
||||
return current_state.name
|
||||
|
||||
@property
|
||||
def status_id(self):
|
||||
"""返回当前状态ID"""
|
||||
"""返回当前状态ID(下一个待执行的状态ID)"""
|
||||
if not self.business_object:
|
||||
return None
|
||||
current_state = self.business_object.get_current_state()
|
||||
|
||||
@@ -174,7 +174,7 @@ class PlateOrderModelTestCase(TestCase):
|
||||
|
||||
# 刷新并检查状态
|
||||
plate_order.refresh_from_db()
|
||||
self.assertEqual(plate_order.status, state1.name) # current_state 是最后完成的状态(state1)
|
||||
self.assertEqual(plate_order.status, state2.name) # current_state 是下一个待执行的状态(state2)
|
||||
self.assertFalse(plate_order.is_completed)
|
||||
self.assertTrue(plate_order.has_started)
|
||||
self.assertGreater(plate_order.progress_percentage, 0)
|
||||
|
||||
Reference in New Issue
Block a user