feat: apply gui semantic risk colors

This commit is contained in:
chengma
2026-07-01 17:56:27 +08:00
parent ca41ed2874
commit ba6f3e4af4
5 changed files with 142 additions and 13 deletions
+24 -1
View File
@@ -77,6 +77,11 @@ class GuiTests(TempDirMixin, unittest.TestCase):
}
return cfg
def assert_foreground(self, model, row, column, color):
value = model.data(model.index(row, column), gui.Qt.ForegroundRole)
self.assertIsNotNone(value)
self.assertEqual(color, value.name())
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))
@@ -983,6 +988,8 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertTrue(tab.reset_update_button.isHidden())
self.assertEqual(gui.Qt.CustomContextMenu, tab.task_table.contextMenuPolicy())
self.assertEqual("startUpdateButton", tab.start_update_button.objectName())
self.assertIn(gui.COLOR_WARNING, tab.start_update_button.styleSheet())
self.assertIn("border", tab.start_update_button.styleSheet())
self.assertFalse(tab.stop_update_button.isEnabled())
self.assertEqual(2, tab.model.rowCount())
self.assertEqual("主店", tab.model.index(0, 0).data())
@@ -990,12 +997,15 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertEqual("新标题10", tab.model.index(0, 2).data())
self.assertEqual("51100639510_new.jpg", tab.model.index(0, 3).data())
self.assertEqual("待更新", tab.model.index(0, 4).data())
self.assert_foreground(tab.model, 0, 4, gui.COLOR_PENDING)
self.assertEqual("待更新", tab.model.index(0, 5).data())
self.assert_foreground(tab.model, 0, 5, gui.COLOR_PENDING)
self.assertEqual("任务 2/4 条", tab.summary_label.text())
tab.status_filter.setCurrentIndex(tab.status_filter.findData("failed"))
self.assertEqual(1, tab.model.rowCount())
self.assertEqual("失败", tab.model.index(0, 5).data())
self.assert_foreground(tab.model, 0, 5, gui.COLOR_DANGER)
self.assertEqual(
"更新失败",
tab.model.data(tab.model.index(0, 0), gui.Qt.ToolTipRole),
@@ -1011,7 +1021,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
tab.status_filter.setCurrentIndex(tab.status_filter.findData("applied"))
self.assertEqual(1, tab.model.rowCount())
self.assertEqual("已更新", tab.model.index(0, 4).data())
self.assert_foreground(tab.model, 0, 4, gui.COLOR_SUCCESS)
self.assertEqual("成功", tab.model.index(0, 5).data())
self.assert_foreground(tab.model, 0, 5, gui.COLOR_SUCCESS)
tab.batch_filter.setCurrentIndex(tab.batch_filter.findData(None))
tab.status_filter.setCurrentIndex(tab.status_filter.findData("all"))
@@ -1931,7 +1943,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertEqual("旧标题A", tab.model.index(0, 2).data())
self.assertEqual("", tab.model.index(0, 3).data())
self.assertEqual("待生成", tab.model.index(0, 4).data())
self.assert_foreground(tab.model, 0, 4, gui.COLOR_PENDING)
self.assertEqual("已生成", tab.model.index(2, 4).data())
self.assert_foreground(tab.model, 2, 4, gui.COLOR_SUCCESS)
tab.status_filter.setCurrentIndex(tab.status_filter.findData("to_generate"))
self.assertEqual(2, tab.model.rowCount())
@@ -1946,6 +1960,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
tab.batch_filter.setCurrentIndex(tab.batch_filter.findData(batch_b))
self.assertEqual(1, tab.model.rowCount())
self.assertEqual("失败", tab.model.index(0, 4).data())
self.assert_foreground(tab.model, 0, 4, gui.COLOR_DANGER)
self.assertEqual(
"生成失败",
tab.model.data(tab.model.index(0, 0), gui.Qt.ToolTipRole),
@@ -2141,13 +2156,18 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertEqual("alias-a", tab.model.index(0, 1).data())
self.assertEqual("51100639510", tab.model.index(0, 2).data())
self.assertEqual("待采集", tab.model.index(0, 3).data())
self.assert_foreground(tab.model, 0, 3, gui.COLOR_PENDING)
self.assertEqual("Excel副店", tab.model.index(1, 0).data())
self.assertEqual("missing", tab.model.index(1, 1).data())
self.assertEqual("略过", tab.model.index(1, 3).data())
self.assert_foreground(tab.model, 1, 3, gui.COLOR_MUTED)
self.assertIn("2 行", tab.summary_label.text())
self.assertIn("有效2/无效0", tab.summary_label.text())
self.assertIn("匹配1", tab.summary_label.text())
self.assertIn("未匹配1", tab.summary_label.text())
self.assertIn(gui.COLOR_DANGER, tab.summary_label.text())
self.assertIn(gui.COLOR_DANGER, tab.show_unmatched_button.styleSheet())
self.assertIn("border", tab.show_unmatched_button.styleSheet())
self.assertIn("主店1", tab.match_detail_label.text())
self.assertIn("未匹配", tab.empty_label.text())
@@ -2326,8 +2346,11 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assertEqual("alias-a", tab.model.index(0, 1).data())
self.assertIn("1 文件", tab.summary_label.text())
self.assertIn("2 行", tab.summary_label.text())
self.assertIn("有效1/无效1", tab.summary_label.text())
self.assertIn("有效1/", tab.summary_label.text())
self.assertIn("无效1", tab.summary_label.text())
self.assertIn(gui.COLOR_DANGER, tab.summary_label.text())
self.assertIn("匹配1", tab.summary_label.text())
self.assertEqual("", tab.show_unmatched_button.styleSheet())
self.assertIn("入库1", statuses[-1])
self.assert_removed(temp_dir)