feat: add first-run empty state guidance

This commit is contained in:
chengma
2026-07-02 09:57:06 +08:00
parent 9bad70f425
commit d8c3c5d548
5 changed files with 214 additions and 9 deletions
+57
View File
@@ -109,6 +109,63 @@ class GuiTests(TempDirMixin, unittest.TestCase):
self.assert_removed(temp_dir)
def test_collect_tab_shows_empty_state_without_accounts(self):
with self.make_temp_dir() as temp_dir:
cfg = self.make_config(temp_dir)
opened = []
tab = CollectTab(config=cfg, open_accounts_callback=lambda: opened.append(True))
self.addCleanup(tab.close)
self.assertFalse(tab.empty_state_card.isHidden())
self.assertIn("④账号管理", tab.empty_state_label.text())
self.assertFalse(tab.empty_state_button.isHidden())
tab.empty_state_button.click()
self.assertEqual([True], opened)
self.assert_removed(temp_dir)
def test_generate_tab_shows_empty_state_for_first_steps(self):
with self.make_temp_dir() as temp_dir:
cfg = self.make_config(temp_dir)
opened = []
tab = GenerateTab(config=cfg, open_accounts_callback=lambda: opened.append(True))
self.addCleanup(tab.close)
self.assertFalse(tab.empty_state_card.isHidden())
self.assertIn("④账号管理", tab.empty_state_label.text())
self.assertFalse(tab.empty_state_button.isHidden())
tab.empty_state_button.click()
self.assertEqual([True], opened)
accounts.create_account("主店", "alias", debug_port=9222, config=cfg)
tab.refresh_tasks()
self.assertFalse(tab.empty_state_card.isHidden())
self.assertIn("①导入采集", tab.empty_state_label.text())
self.assertTrue(tab.empty_state_button.isHidden())
self.assert_removed(temp_dir)
def test_apply_tab_shows_empty_state_for_first_steps(self):
with self.make_temp_dir() as temp_dir:
cfg = self.make_config(temp_dir)
opened = []
tab = ApplyTab(config=cfg, open_accounts_callback=lambda: opened.append(True))
self.addCleanup(tab.close)
self.assertFalse(tab.empty_state_card.isHidden())
self.assertIn("④账号管理", tab.empty_state_label.text())
self.assertFalse(tab.empty_state_button.isHidden())
tab.empty_state_button.click()
self.assertEqual([True], opened)
accounts.create_account("主店", "alias", debug_port=9222, config=cfg)
tab.refresh_tasks()
self.assertFalse(tab.empty_state_card.isHidden())
self.assertIn("②AI生成", tab.empty_state_label.text())
self.assertTrue(tab.empty_state_button.isHidden())
self.assert_removed(temp_dir)
def test_settings_tab_loads_ai_models_and_masks_key_field(self):
with self.make_temp_dir() as temp_dir:
cfg = self.make_config(temp_dir)