feat: include failed step in task errors
This commit is contained in:
+57
-1
@@ -163,6 +163,62 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
model.data(model.index(0, 3), gui.Qt.ToolTipRole),
|
||||
)
|
||||
|
||||
def test_workflow_failed_tooltips_show_failed_step_and_reason(self):
|
||||
account = SimpleNamespace(alias="papa", account_name="papa 店铺")
|
||||
collect_task = SimpleNamespace(
|
||||
alias="papa",
|
||||
account_name="papa 店铺",
|
||||
item_id="25120403046",
|
||||
stage="imported",
|
||||
status="failed",
|
||||
last_error="读封面失败:图片超过大小上限",
|
||||
)
|
||||
generate_task = SimpleNamespace(
|
||||
alias="papa",
|
||||
account_name="papa 店铺",
|
||||
item_id="26887160467",
|
||||
old_title="旧标题",
|
||||
new_title="",
|
||||
stage="collected",
|
||||
status="failed",
|
||||
last_error="请求生成标题失败:cmhub 上游生成失败",
|
||||
collect_attempts=1,
|
||||
generate_attempts=1,
|
||||
apply_attempts=0,
|
||||
committed=0,
|
||||
)
|
||||
apply_task = SimpleNamespace(
|
||||
alias="papa",
|
||||
account_name="papa 店铺",
|
||||
item_id="28431952912",
|
||||
new_title="新标题",
|
||||
new_cover_path="new.jpg",
|
||||
stage="generated",
|
||||
status="failed",
|
||||
last_error="点击更新失败:按钮禁用",
|
||||
)
|
||||
|
||||
collect_model = gui.TaskTableModel()
|
||||
collect_model.set_tasks([collect_task], [account])
|
||||
self.assertEqual(
|
||||
"读封面失败:图片超过大小上限",
|
||||
collect_model.data(collect_model.index(0, 3), gui.Qt.ToolTipRole),
|
||||
)
|
||||
|
||||
generate_model = gui.GenerateTaskTableModel()
|
||||
generate_model.set_tasks([generate_task], [account])
|
||||
self.assertEqual(
|
||||
"请求生成标题失败:cmhub 上游生成失败",
|
||||
generate_model.data(generate_model.index(0, 4), gui.Qt.ToolTipRole),
|
||||
)
|
||||
|
||||
apply_model = gui.ApplyTaskTableModel()
|
||||
apply_model.set_tasks([apply_task], [account])
|
||||
self.assertEqual(
|
||||
"点击更新失败:按钮禁用",
|
||||
apply_model.data(apply_model.index(0, 5), gui.Qt.ToolTipRole),
|
||||
)
|
||||
|
||||
def test_main_window_has_five_tabs_in_workflow_order(self):
|
||||
with self.make_temp_dir() as temp_dir:
|
||||
window = MainWindow(config=self.make_config(temp_dir))
|
||||
@@ -3343,7 +3399,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
self.assertEqual(1, by_alias["alias-a"].committed)
|
||||
self.assertEqual("generated", by_alias["alias-b"].stage)
|
||||
self.assertEqual("failed", by_alias["alias-b"].status)
|
||||
self.assertEqual("UPDATE_DISABLED", by_alias["alias-b"].last_error)
|
||||
self.assertEqual("更新商品失败:UPDATE_DISABLED", by_alias["alias-b"].last_error)
|
||||
self.assertEqual(0, by_alias["alias-b"].committed)
|
||||
self.assertEqual("skipped", by_alias["missing"].status)
|
||||
self.assertEqual("别名未匹配账号", by_alias["missing"].last_error)
|
||||
|
||||
Reference in New Issue
Block a user