feat: 任务列表显示店铺名和执行用时 (#136)
This commit is contained in:
@@ -258,6 +258,7 @@ class TaskRepositoryTests(unittest.TestCase):
|
||||
{
|
||||
"goods_id": "10001",
|
||||
"title": "测试商品",
|
||||
"shop_name": "测试店铺",
|
||||
"price_granularity": "color",
|
||||
"dimensions": [],
|
||||
"skus": [{"price_cent": 990}],
|
||||
@@ -269,12 +270,38 @@ class TaskRepositoryTests(unittest.TestCase):
|
||||
TaskStatus.RESULT_PENDING,
|
||||
)
|
||||
self.assertEqual(event.status, OutboxStatus.PENDING)
|
||||
summary = self.repository.list_tasks()[0]
|
||||
self.assertEqual(summary.shop_name, "测试店铺")
|
||||
self.assertEqual(summary.latest_run_status, RunStatus.SUCCEEDED)
|
||||
self.repository.mark_outbox_sent(event.id)
|
||||
self.assertEqual(
|
||||
self.repository.get_task("TASK-RUN").status,
|
||||
TaskStatus.SUCCEEDED,
|
||||
)
|
||||
|
||||
def test_list_uses_latest_run_duration_and_clamps_negative_value(self):
|
||||
self.repository.add_claimed_task(self._task("TASK-DURATION"))
|
||||
started = self.repository.start_collect_run("TASK-DURATION", "USB-001")
|
||||
connection = open_database(self.db_path)
|
||||
try:
|
||||
with connection:
|
||||
connection.execute(
|
||||
"UPDATE task_runs SET run_status = 'failed',"
|
||||
" started_at = ?, finished_at = ? WHERE attempt_id = ?",
|
||||
(
|
||||
"2026-08-11T08:00:10Z",
|
||||
"2026-08-11T08:00:05Z",
|
||||
started.attempt_id,
|
||||
),
|
||||
)
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
summary = self.repository.list_tasks()[0]
|
||||
|
||||
self.assertEqual(summary.latest_run_status, RunStatus.FAILED)
|
||||
self.assertEqual(summary.duration_seconds, 0)
|
||||
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user