feat: 增加任务批量勾选和重新上报 (#89)
This commit is contained in:
@@ -209,6 +209,33 @@ class TaskRepositoryTests(unittest.TestCase):
|
||||
TaskStatus.SUCCEEDED,
|
||||
)
|
||||
|
||||
def test_latest_result_outbox_excludes_newer_failure_event(self):
|
||||
self.repository.add_claimed_task(self._task("TASK-REPORT"))
|
||||
first = self.repository.start_collect_run("TASK-REPORT", "USB-001")
|
||||
result = self.repository.save_collect_result(
|
||||
"TASK-REPORT",
|
||||
first.attempt_id,
|
||||
{"goods_id": "10001", "title": "测试商品", "skus": []},
|
||||
)
|
||||
self.repository.mark_outbox_sent(result.id)
|
||||
self.repository.prepare_collect_rerun("TASK-REPORT")
|
||||
second = self.repository.start_collect_run("TASK-REPORT", "USB-001")
|
||||
failure = self.repository.save_collect_failure(
|
||||
"TASK-REPORT",
|
||||
second.attempt_id,
|
||||
TaskStatus.FAILED,
|
||||
"TEST_FAILURE",
|
||||
"测试失败",
|
||||
False,
|
||||
)
|
||||
|
||||
latest = self.repository.latest_result_outbox("TASK-REPORT")
|
||||
|
||||
self.assertEqual(latest.id, result.id)
|
||||
self.assertEqual(latest.event_type, OutboxEventType.COLLECT_RESULT)
|
||||
self.assertNotEqual(latest.id, failure.id)
|
||||
self.assertIsNone(self.repository.latest_result_outbox("MISSING"))
|
||||
|
||||
def test_prepare_rerun_preserves_old_result_and_creates_new_attempt(self):
|
||||
self.repository.add_claimed_task(self._task("TASK-RERUN"))
|
||||
first = self.repository.start_collect_run("TASK-RERUN", "USB-001")
|
||||
|
||||
Reference in New Issue
Block a user