diff options
Diffstat (limited to 'tests/test_schema.py')
| -rw-r--r-- | tests/test_schema.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test_schema.py b/tests/test_schema.py index 15a5f9b..51ec4a2 100644 --- a/tests/test_schema.py +++ b/tests/test_schema.py @@ -41,3 +41,65 @@ def test_inpaint_requires_both_images() -> None: def test_arbitrary_dimensions_are_not_accepted() -> None: with pytest.raises(InvalidRequestError, match="size"): TextToImageRequest.create("cat", size="640x480") + + +def test_base_prompts_are_combined_with_user_prompts() -> None: + request = TextToImageRequest.create( + "a cat", + "blurry", + base_positive="masterpiece, best quality", + base_negative="low quality, watermark", + ) + assert request.positive_prompt == "masterpiece, best quality, a cat" + assert request.negative_prompt == "low quality, watermark\nblurry" + + +def test_base_positive_only_does_not_add_trailing_separator() -> None: + request = TextToImageRequest.create( + "a cat", + base_positive="masterpiece", + ) + assert request.positive_prompt == "masterpiece, a cat" + assert request.negative_prompt == "" + + +def test_base_negative_only_does_not_add_leading_separator() -> None: + request = TextToImageRequest.create( + "a cat", + "blurry", + base_negative="low quality", + ) + assert request.positive_prompt == "a cat" + assert request.negative_prompt == "low quality\nblurry" + + +def test_empty_base_prompts_preserve_user_prompts() -> None: + request = TextToImageRequest.create("a cat", "blurry") + assert request.positive_prompt == "a cat" + assert request.negative_prompt == "blurry" + + +def test_guided_request_combines_base_prompts() -> None: + request = GuidedImageRequest.create( + "a dancer", + "openpose", + "abc", + "deformed", + base_positive="masterpiece", + base_negative="low quality", + ) + assert request.positive_prompt == "masterpiece, a dancer" + assert request.negative_prompt == "low quality\ndeformed" + + +def test_inpaint_request_combines_base_prompts() -> None: + request = InpaintImageRequest.create( + "a vase", + "abc", + "def", + "artifacts", + base_positive="masterpiece", + base_negative="low quality", + ) + assert request.positive_prompt == "masterpiece, a vase" + assert request.negative_prompt == "low quality\nartifacts" |
