feat: snapshot product suite reference assets

This commit is contained in:
chengma
2026-07-17 17:03:40 +08:00
parent d11dc752b5
commit 1fabd8afcf
12 changed files with 252 additions and 5 deletions
+21
View File
@@ -99,6 +99,7 @@ class ProductSuiteTests(unittest.TestCase):
self.assertEqual(3, len(specs))
self.assertEqual([11, 11, 12], [spec["source_asset_id"] for spec in specs])
self.assertEqual([[], [], []], [spec["reference_asset_ids"] for spec in specs])
self.assertEqual(["白底图", "场景图", "场景图"], [spec["job_type"] for spec in specs])
for spec in specs:
self.assertIn("平台:Shopee", spec["prompt"])
@@ -135,6 +136,26 @@ class ProductSuiteTests(unittest.TestCase):
self.assertLess(white_prompt.index("尺码信息规则"), white_prompt.index(reference_rule))
self.assertLess(white_prompt.index(reference_rule), white_prompt.index("商品卖点与要求"))
def test_job_specs_freeze_first_image_references_when_not_per_image_primary(self):
settings = product_suite.default_suite_settings()
settings.update(
{
"per_image_primary": False,
"categories": {"白底图": 1, "场景图": 1, "卖点图": 0},
}
)
specs = product_suite.build_job_specs(
[SimpleNamespace(id=11), SimpleNamespace(id=12), SimpleNamespace(id=13)],
"卖点",
settings,
"51100639510",
template_text=prompts.load_default_product_suite_prompt(),
)
self.assertEqual(2, len(specs))
self.assertEqual([11, 11], [spec["source_asset_id"] for spec in specs])
self.assertEqual([[12, 13], [12, 13]], [spec["reference_asset_ids"] for spec in specs])
def test_reference_rule_follows_per_image_primary_setting(self):
template = prompts.load_default_product_suite_prompt()
settings = product_suite.default_suite_settings()