feat(settings): support gateway source switching

This commit is contained in:
chengma
2026-07-20 16:29:28 +08:00
parent ed1d8ee764
commit 6a0cd1c763
18 changed files with 746 additions and 77 deletions
+35
View File
@@ -153,6 +153,41 @@ class ProductSuiteGuiTests(TempDirMixin, unittest.TestCase):
path=db_path,
)
def test_direct_gateway_blocks_new_suite_actions_but_keeps_default_job_resume_available(self):
with self.make_temp_dir() as temp_dir:
config = self._config(temp_dir)
config["ai"] = appconfig.ai_config(config)
config["ai"]["backend"] = "direct"
project, assets = self._create_project_with_assets(temp_dir, config, 1)
job = image_studio.create_job(
project.id,
source_asset_id=assets[0].id,
job_type="白底图",
prompt="已提交图片",
generation_source="cmhub",
provider="cmhub",
path=config["db_path"],
)
image_studio.set_job_submitted(job.id, "cmhub-task-1", path=config["db_path"])
tab = ProductSuiteTab(config=config, db_path=config["db_path"])
self.addCleanup(tab.close)
state = tab._displayed_state
state.account_alias = "alias-a"
state.item_id = project.item_id
state.project_id = project.id
state.project_binding_state = project.binding_state
tab._load_state(state)
tab.refresh_gateway_state()
self.assertFalse(tab.generate_button.isEnabled())
self.assertFalse(tab.ai_write_button.isEnabled())
self.assertFalse(tab.resume_submitted_button.isHidden())
self.assertTrue(tab.resume_submitted_button.isEnabled())
self.assertIn("仅支持默认网关", tab.generate_button.toolTip())
self.assert_removed(temp_dir)
def test_tab_builds_suite_controls_without_old_detail_workspace(self):
with self.make_temp_dir() as temp_dir:
config = self._config(temp_dir)