feat(product-suite): add cmhub vision AI writing
This commit is contained in:
@@ -2798,6 +2798,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
self.assertEqual(QLineEdit.Password, tab.cmhub_api_key_edit.echoMode())
|
||||
self.assertEqual("title-old", tab.cmhub_title_alias_combo.currentData())
|
||||
self.assertEqual("image-old", tab.cmhub_image_alias_combo.currentData())
|
||||
self.assertEqual("vision-standard", tab.cmhub_vision_alias_combo.currentData())
|
||||
|
||||
tab.cmhub_base_url_edit.setText("https://cmhub.example.com/api/v1/")
|
||||
tab.cmhub_api_key_edit.setText("sk-new-secret")
|
||||
@@ -2819,9 +2820,17 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
"pricing_status": "priced",
|
||||
"prices": [{"resolution": "1K", "points_cost": 5}],
|
||||
},
|
||||
{
|
||||
"alias": "vision-standard",
|
||||
"operation_type": "vision",
|
||||
"requires_image": True,
|
||||
"pricing_status": "priced",
|
||||
"prices": [{"points_cost": 1}],
|
||||
},
|
||||
],
|
||||
title_selected="title-standard",
|
||||
image_selected="image-standard",
|
||||
vision_selected="vision-standard",
|
||||
)
|
||||
|
||||
with mock.patch("app.gui.QMessageBox.warning") as warning, \
|
||||
@@ -2837,6 +2846,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
self.assertEqual("https://cmhub.example.com", tab.cmhub_base_url_edit.text())
|
||||
self.assertEqual("title-standard", saved["ai"]["cmhub"]["title_alias"])
|
||||
self.assertEqual("image-standard", saved["ai"]["cmhub"]["image_alias"])
|
||||
self.assertEqual("vision-standard", saved["ai"]["cmhub"]["vision_alias"])
|
||||
self.assertEqual(12, saved["ai"]["cmhub"]["connect_timeout"])
|
||||
self.assertTrue(saved["ai"]["cmhub"]["check_balance_before_batch"])
|
||||
self.assertEqual(
|
||||
@@ -2856,6 +2866,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
"base_url": "https://cmhub.example.com",
|
||||
"title_alias": "title-saved",
|
||||
"image_alias": "image-saved",
|
||||
"vision_alias": "vision-saved",
|
||||
"connect_timeout": 10,
|
||||
"check_balance_before_batch": False,
|
||||
}
|
||||
@@ -2889,6 +2900,27 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
"pricing_status": "priced",
|
||||
"prices": [{"resolution": "1K", "points_cost": 5}],
|
||||
},
|
||||
{
|
||||
"alias": "vision-priced",
|
||||
"operation_type": "vision",
|
||||
"requires_image": True,
|
||||
"pricing_status": "priced",
|
||||
"prices": [{"points_cost": 1}],
|
||||
},
|
||||
{
|
||||
"alias": "vision-without-image",
|
||||
"operation_type": "vision",
|
||||
"requires_image": False,
|
||||
"pricing_status": "priced",
|
||||
"prices": [{"points_cost": 1}],
|
||||
},
|
||||
{
|
||||
"alias": "vision-free",
|
||||
"operation_type": "vision",
|
||||
"requires_image": True,
|
||||
"pricing_status": "unpriced",
|
||||
"prices": [],
|
||||
},
|
||||
],
|
||||
}
|
||||
)
|
||||
@@ -2901,6 +2933,10 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
tab.cmhub_image_alias_combo.itemText(index)
|
||||
for index in range(tab.cmhub_image_alias_combo.count())
|
||||
]
|
||||
vision_aliases = [
|
||||
tab.cmhub_vision_alias_combo.itemData(index)
|
||||
for index in range(tab.cmhub_vision_alias_combo.count())
|
||||
]
|
||||
self.assertIn("title-priced", title_aliases)
|
||||
self.assertIn("title-saved", title_aliases)
|
||||
self.assertNotIn("title-free", title_aliases)
|
||||
@@ -2908,7 +2944,12 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
self.assertIn("512:1点", tab.cmhub_title_alias_combo.itemText(0))
|
||||
self.assertTrue(any("需参考图" in label for label in image_labels))
|
||||
self.assertTrue(any("默认档" in label for label in image_labels))
|
||||
self.assertIn("vision-priced", vision_aliases)
|
||||
self.assertIn("vision-saved", vision_aliases)
|
||||
self.assertNotIn("vision-without-image", vision_aliases)
|
||||
self.assertNotIn("vision-free", vision_aliases)
|
||||
self.assertIn("余额 55", tab.cmhub_result_label.text())
|
||||
self.assertIn("当前已保存值暂不可用", tab.cmhub_result_label.text())
|
||||
|
||||
self.assert_removed(temp_dir)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user