feat(gui): optimize product status filter defaults
This commit is contained in:
+80
-1
@@ -3579,6 +3579,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
)
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.resize(1000, 600)
|
||||
tab.show()
|
||||
QApplication.processEvents()
|
||||
@@ -3645,6 +3648,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
selection = tab.task_table.selectionModel()
|
||||
selection.select(tab.model.index(0, 0), QItemSelectionModel.Select | QItemSelectionModel.Rows)
|
||||
selection.select(tab.model.index(1, 0), QItemSelectionModel.Select | QItemSelectionModel.Rows)
|
||||
@@ -3687,6 +3693,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.task_table.selectRow(0)
|
||||
tab.task_table.setCurrentIndex(tab.model.index(0, 0))
|
||||
|
||||
@@ -3780,6 +3789,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
)
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.task_table.selectRow(0)
|
||||
tab.task_table.setCurrentIndex(tab.model.index(0, 0))
|
||||
|
||||
@@ -4061,6 +4073,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
db.set_generated(task.id, "已有标题", None, path=cfg["db_path"])
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
|
||||
tab.status_filter.setCurrentIndex(tab.status_filter.findData("to_generate"))
|
||||
self.assertEqual(0, tab.model.rowCount())
|
||||
@@ -4137,6 +4152,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
title_templates_dir=title_templates_dir,
|
||||
)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
|
||||
self.assertEqual("标题启动回显", tab.title_prompt_edit.toPlainText())
|
||||
self.assertEqual("选择模板", tab.title_template_combo.currentText())
|
||||
@@ -4244,6 +4262,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
title_templates_dir=os.path.join(temp_dir, "prompts", "title"),
|
||||
)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.cover_prompt_edit.setPlainText("新:{新标题};旧:{旧标题}")
|
||||
tab.task_table.selectRow(0)
|
||||
|
||||
@@ -5257,6 +5278,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
statuses = []
|
||||
tab = GenerateTab(config=cfg, status_callback=statuses.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
index = tab.model.index(0, 3)
|
||||
|
||||
self.assertTrue(bool(tab.model.flags(index) & gui.Qt.ItemIsEditable))
|
||||
@@ -5299,6 +5323,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
statuses = []
|
||||
tab = GenerateTab(config=cfg, status_callback=statuses.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.task_table.selectRow(0)
|
||||
|
||||
message_box, boxes = self.make_fake_message_box("重置全部")
|
||||
@@ -5365,6 +5392,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
statuses = []
|
||||
tab = GenerateTab(config=cfg, status_callback=statuses.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.task_table.clearSelection()
|
||||
|
||||
message_box, boxes = self.make_fake_message_box("重置标题")
|
||||
@@ -5420,6 +5450,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
db.set_applied(tasks[0].id, True, path=cfg["db_path"])
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
selection = tab.task_table.selectionModel()
|
||||
for row in [0, 1]:
|
||||
selection.select(
|
||||
@@ -6389,6 +6422,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
)
|
||||
tab = GenerateTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
FakeGenerateWorker.instances.clear()
|
||||
fake_thread = FakeThread()
|
||||
|
||||
@@ -6593,6 +6629,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
statuses = []
|
||||
tab = GenerateTab(config=cfg, status_callback=statuses.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
|
||||
self.assertEqual("采集失败", tab.model.index(0, 4).data())
|
||||
tab.start_generate()
|
||||
@@ -6729,6 +6768,12 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
for index in range(tab.product_status_filter.count())
|
||||
],
|
||||
)
|
||||
self.assertEqual("normal", tab.product_status_filter.currentData())
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
self.assertEqual("51100639510", tab.model.index(0, 1).data())
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
label_texts = [label.text() for label in tab.findChildren(QLabel)]
|
||||
self.assertIn("商品状态", label_texts)
|
||||
self.assertIn("更新状态", label_texts)
|
||||
@@ -6763,6 +6808,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
self.assertEqual("51100639511", tab.model.index(0, 1).data())
|
||||
tab.refresh_tasks()
|
||||
self.assertEqual("unlisted", tab.product_status_filter.currentData())
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
with mock.patch("app.gui.QMessageBox.warning") as warning, mock.patch(
|
||||
"app.gui.run_worker"
|
||||
) as run_worker:
|
||||
@@ -6842,6 +6890,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
statuses = []
|
||||
tab = ApplyTab(config=cfg, status_callback=statuses.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.status_filter.setCurrentIndex(tab.status_filter.findData("applied"))
|
||||
tab.task_table.selectRow(0)
|
||||
|
||||
@@ -7254,6 +7305,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
states = []
|
||||
tab = ApplyTab(config=cfg, status_callback=states.append)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
|
||||
with mock.patch("app.gui.QMessageBox.warning") as warning, mock.patch(
|
||||
"app.gui.QMessageBox.question"
|
||||
@@ -7310,6 +7364,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
db.set_generated(tasks[2].id, None, "new.jpg", path=cfg["db_path"])
|
||||
tab = ApplyTab(config=cfg)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
thread = FakeThread()
|
||||
|
||||
with mock.patch("app.gui.QMessageBox.question", return_value=gui.QMessageBox.Yes) as question, mock.patch(
|
||||
@@ -8169,6 +8226,12 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
for index in range(tab.product_status_filter.count())
|
||||
],
|
||||
)
|
||||
self.assertEqual("normal", tab.product_status_filter.currentData())
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
self.assertEqual("51100639510", tab.model.index(0, 1).data())
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
self.assertEqual(4, tab.model.rowCount())
|
||||
self.assertEqual("主店", tab.model.index(0, 0).data())
|
||||
self.assertEqual("51100639510", tab.model.index(0, 1).data())
|
||||
@@ -8199,6 +8262,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
tab.product_status_filter.findData("unlisted")
|
||||
)
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
tab.refresh_tasks()
|
||||
self.assertEqual("unlisted", tab.product_status_filter.currentData())
|
||||
self.assertEqual(1, tab.model.rowCount())
|
||||
unlisted_plan = product_status.build_generation_plan(
|
||||
tab._generation_candidates("title"),
|
||||
"title",
|
||||
@@ -8527,6 +8593,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
for index in range(tab.product_status_filter.count())
|
||||
],
|
||||
)
|
||||
self.assertEqual("all", tab.product_status_filter.currentData())
|
||||
self.assertEqual(5, tab.model.rowCount())
|
||||
self.assertEqual("待检测", tab.model.index(0, 4).data())
|
||||
self.assertEqual("架上商品", tab.model.index(1, 4).data())
|
||||
@@ -9072,6 +9139,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
refresh_workflow_callback=lambda: refresh_calls.append(True),
|
||||
)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.resize(1000, 600)
|
||||
tab.show()
|
||||
QApplication.processEvents()
|
||||
@@ -9162,6 +9232,9 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
refresh_workflow_callback=lambda: refresh_calls.append(True),
|
||||
)
|
||||
self.addCleanup(tab.close)
|
||||
tab.product_status_filter.setCurrentIndex(
|
||||
tab.product_status_filter.findData("all")
|
||||
)
|
||||
tab.status_filter.setCurrentIndex(tab.status_filter.findData("all"))
|
||||
tab.resize(1000, 600)
|
||||
tab.show()
|
||||
@@ -9245,7 +9318,13 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
path=cfg["db_path"],
|
||||
)
|
||||
task = db.list_tasks(batch_id=batch_id, path=cfg["db_path"])[0]
|
||||
db.set_collected(task.id, "旧标题", "old.jpg", path=cfg["db_path"])
|
||||
db.set_collected(
|
||||
task.id,
|
||||
"旧标题",
|
||||
"old.jpg",
|
||||
product_status_value="normal",
|
||||
path=cfg["db_path"],
|
||||
)
|
||||
db.set_generated(task.id, "新标题", "new.jpg", path=cfg["db_path"])
|
||||
statuses = []
|
||||
tab = ApplyTab(config=cfg, status_callback=statuses.append)
|
||||
|
||||
Reference in New Issue
Block a user