diff --git a/backend/tests/test_generation_engine_resolution.py b/backend/tests/test_generation_engine_resolution.py new file mode 100644 index 00000000..7cd3dc34 --- /dev/null +++ b/backend/tests/test_generation_engine_resolution.py @@ -0,0 +1,27 @@ +"""Tests for generation request engine selection.""" + +import pytest +from pydantic import ValidationError + +from backend import models + + +def _request(**kwargs) -> models.GenerationRequest: + return models.GenerationRequest(profile_id="profile-1", text="hello", **kwargs) + + +def test_omitted_engine_does_not_override_profile_default(): + request = _request() + + assert request.engine is None + + +def test_explicit_engine_is_preserved(): + request = _request(engine="chatterbox") + + assert request.engine == "chatterbox" + + +def test_invalid_explicit_engine_is_rejected(): + with pytest.raises(ValidationError): + _request(engine="invalid")