Fix translation key for done response in conversation (#130247)

This commit is contained in:
Michael 2024-11-10 16:28:58 +01:00 committed by Franck Nijhof
parent 07a8cf14cd
commit 83baa1a788
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
2 changed files with 39 additions and 1 deletions

View File

@ -294,7 +294,7 @@ class DefaultAgent(ConversationEntity):
self.hass, language, DOMAIN, [DOMAIN]
)
response_text = translations.get(
f"component.{DOMAIN}.agent.done", "Done"
f"component.{DOMAIN}.conversation.agent.done", "Done"
)
response.async_set_speech(response_text)

View File

@ -418,6 +418,44 @@ async def test_trigger_sentences(hass: HomeAssistant) -> None:
assert len(callback.mock_calls) == 0
@pytest.mark.parametrize(
("language", "expected"),
[("en", "English done"), ("de", "German done"), ("not_translated", "Done")],
)
@pytest.mark.usefixtures("init_components")
async def test_trigger_sentence_response_translation(
hass: HomeAssistant, language: str, expected: str
) -> None:
"""Test translation of default response 'done'."""
hass.config.language = language
agent = hass.data[DATA_DEFAULT_ENTITY]
assert isinstance(agent, default_agent.DefaultAgent)
translations = {
"en": {"component.conversation.conversation.agent.done": "English done"},
"de": {"component.conversation.conversation.agent.done": "German done"},
"not_translated": {},
}
with patch(
"homeassistant.components.conversation.default_agent.translation.async_get_translations",
return_value=translations.get(language),
):
unregister = agent.register_trigger(
["test sentence"], AsyncMock(return_value=None)
)
result = await conversation.async_converse(
hass, "test sentence", None, Context()
)
assert result.response.response_type == intent.IntentResponseType.ACTION_DONE
assert result.response.speech == {
"plain": {"speech": expected, "extra_data": None}
}
unregister()
@pytest.mark.usefixtures("init_components", "sl_setup")
async def test_shopping_list_add_item(hass: HomeAssistant) -> None:
"""Test adding an item to the shopping list through the default agent."""