feat: 增加任务批量勾选和重新上报 (#89)

This commit is contained in:
chengma
2026-08-10 10:56:48 +08:00
parent d017062d82
commit 34ff39a200
8 changed files with 734 additions and 60 deletions
+27
View File
@@ -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")