feat: Add support for saved speaker references in voice selection and enhance related tests

This commit is contained in:
JB
2025-12-20 09:11:35 -08:00
parent e47536e2ab
commit de8debb6b1
2 changed files with 37 additions and 0 deletions
+26
View File
@@ -65,6 +65,32 @@ def test_apply_prepare_form_handles_custom_mix_for_speakers():
assert "voice" not in hero or hero["voice"] != "__custom_mix"
def test_apply_prepare_form_accepts_saved_speaker_reference_for_voice():
pending = _make_pending_job()
pending.speakers = {
"hero": {
"id": "hero",
"label": "Hero",
}
}
form = MultiDict(
{
"chapter_intro_delay": "0.5",
"speaker-hero-voice": "speaker:Female HQ",
"speaker-hero-formula": "",
}
)
_, _, _, errors, *_ = apply_prepare_form(pending, form)
assert not errors
hero = pending.speakers["hero"]
assert hero["voice"] == "speaker:Female HQ"
assert hero["resolved_voice"] == "speaker:Female HQ"
assert "voice_formula" not in hero
def test_resolve_voice_setting_handles_profile_reference():
profiles = {
"Blend": {