Fix not including device_name in friendly name if it is None (#95485)

* Omit device_name in friendly name if it is None

* Fix test
This commit is contained in:
Jan Bouwhuis 2023-07-06 17:14:09 +02:00 committed by GitHub
parent 5d9533fb90
commit b9c7e7c15e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 9 deletions

View file

@ -20,7 +20,7 @@ from homeassistant.const import (
from homeassistant.core import Context, HomeAssistant, HomeAssistantError
from homeassistant.helpers import device_registry as dr, entity, entity_registry as er
from homeassistant.helpers.entity_component import async_update_entity
from homeassistant.helpers.typing import UNDEFINED
from homeassistant.helpers.typing import UNDEFINED, UndefinedType
from tests.common import (
MockConfigEntry,
@ -989,12 +989,20 @@ async def _test_friendly_name(
@pytest.mark.parametrize(
("has_entity_name", "entity_name", "expected_friendly_name", "warn_implicit_name"),
(
(False, "Entity Blu", "Entity Blu", False),
(False, None, None, False),
(True, "Entity Blu", "Device Bla Entity Blu", False),
(True, None, "Device Bla", False),
"has_entity_name",
"entity_name",
"device_name",
"expected_friendly_name",
"warn_implicit_name",
),
(
(False, "Entity Blu", "Device Bla", "Entity Blu", False),
(False, None, "Device Bla", None, False),
(True, "Entity Blu", "Device Bla", "Device Bla Entity Blu", False),
(True, None, "Device Bla", "Device Bla", False),
(True, "Entity Blu", UNDEFINED, "Entity Blu", False),
(True, "Entity Blu", None, "Mock Title Entity Blu", False),
),
)
async def test_friendly_name_attr(
@ -1002,6 +1010,7 @@ async def test_friendly_name_attr(
caplog: pytest.LogCaptureFixture,
has_entity_name: bool,
entity_name: str | None,
device_name: str | None | UndefinedType,
expected_friendly_name: str | None,
warn_implicit_name: bool,
) -> None:
@ -1012,7 +1021,7 @@ async def test_friendly_name_attr(
device_info={
"identifiers": {("hue", "1234")},
"connections": {(dr.CONNECTION_NETWORK_MAC, "abcd")},
"name": "Device Bla",
"name": device_name,
},
)
ent._attr_has_entity_name = has_entity_name