feat: 解耦角色与模特并完善模特库
This commit is contained in:
@@ -349,6 +349,33 @@ class ProjectApiTests(TestCase):
|
||||
group = BaseAssetGroup.objects.get(project=project, kind=BaseAssetGroup.Kind.PERSON)
|
||||
self.assertEqual(group.metadata.get("label"), "女主")
|
||||
|
||||
@patch("apps.ai.services._store_generated_media")
|
||||
@patch("apps.ai.services.get_image_provider")
|
||||
def test_generate_base_asset_ignores_auto_triview_request(self, get_provider, store_media):
|
||||
ModelConfig.objects.create(
|
||||
provider=self.provider, name="img-model-auto-tri", display_name="Img Auto Tri",
|
||||
capability=ModelConfig.Capability.IMAGE, endpoint="images/generations", unit_price="1.0000",
|
||||
)
|
||||
asset = Asset.objects.create(
|
||||
team=self.team, created_by=self.user, name="person",
|
||||
asset_type=Asset.Type.IMAGE, source=Asset.Source.AI_GENERATED, category=Asset.Category.PERSON,
|
||||
)
|
||||
store_media.return_value = asset
|
||||
provider = get_provider.return_value
|
||||
provider.image_generation.return_value = {"data": [{"url": "http://x/img.png"}]}
|
||||
provider.extract_first_media_url.return_value = "http://x/img.png"
|
||||
project = Project.objects.create(team=self.team, created_by=self.user, product=self.product, name="P-auto-tri")
|
||||
|
||||
response = self.client.post(
|
||||
f"/api/projects/{project.id}/generate-base-asset/",
|
||||
{"kind": "person", "prompt": "portrait", "label": "hero", "auto_triview": True},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, 202)
|
||||
task = AITask.objects.get(id=response.data["task"]["id"])
|
||||
self.assertFalse(task.request_payload.get("auto_triview"))
|
||||
|
||||
@patch("apps.ai.services._store_generated_media")
|
||||
@patch("apps.ai.services.get_image_provider")
|
||||
def test_product_base_asset_uses_cover_image_as_reference(self, get_provider, store_media):
|
||||
|
||||
Reference in New Issue
Block a user