Use setup_test_component_platform helper for date entity component tests instead of hass.components (#114413)

* Use `setup_test_component_platform` helper for date entity component tests instead of `hass.components`

* Remove missing
This commit is contained in:
Jan-Philipp Benecke 2024-03-29 07:43:19 +01:00 committed by GitHub
parent 61982acb17
commit 74d614243b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 30 additions and 68 deletions

View file

@ -0,0 +1,20 @@
"""Common helpers for date entity component tests."""
from datetime import date
from homeassistant.components.date import DateEntity
from tests.common import MockEntity
class MockDateEntity(MockEntity, DateEntity):
"""Mock date class."""
@property
def native_value(self):
"""Return the native value of this date."""
return self._handle("native_value")
def set_value(self, value: date) -> None:
"""Change the date."""
self._values["native_value"] = value

View file

@ -2,7 +2,7 @@
from datetime import date from datetime import date
from homeassistant.components.date import DOMAIN, SERVICE_SET_VALUE, DateEntity from homeassistant.components.date import DOMAIN, SERVICE_SET_VALUE
from homeassistant.const import ( from homeassistant.const import (
ATTR_DATE, ATTR_DATE,
ATTR_ENTITY_ID, ATTR_ENTITY_ID,
@ -12,25 +12,18 @@ from homeassistant.const import (
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
from tests.common import setup_test_component_platform
class MockDateEntity(DateEntity): from tests.components.date.common import MockDateEntity
"""Mock date device to use in tests."""
_attr_name = "date"
def __init__(self, native_value=date(2020, 1, 1)) -> None:
"""Initialize mock date entity."""
self._attr_native_value = native_value
async def async_set_value(self, value: date) -> None:
"""Set the value of the date."""
self._attr_native_value = value
async def test_date(hass: HomeAssistant, enable_custom_integrations: None) -> None: async def test_date(hass: HomeAssistant) -> None:
"""Test date entity.""" """Test date entity."""
platform = getattr(hass.components, f"test.{DOMAIN}") entity = MockDateEntity(
platform.init() name="test",
unique_id="unique_date",
native_value=date(2020, 1, 1),
)
setup_test_component_platform(hass, DOMAIN, [entity])
assert await async_setup_component(hass, DOMAIN, {DOMAIN: {CONF_PLATFORM: "test"}}) assert await async_setup_component(hass, DOMAIN, {DOMAIN: {CONF_PLATFORM: "test"}})
await hass.async_block_till_done() await hass.async_block_till_done()

View file

@ -1,51 +0,0 @@
"""Provide a mock date platform.
Call init before using it in your tests to ensure clean test data.
"""
from datetime import date
from homeassistant.components.date import DateEntity
from tests.common import MockEntity
UNIQUE_DATE = "unique_date"
ENTITIES = []
class MockDateEntity(MockEntity, DateEntity):
"""Mock date class."""
@property
def native_value(self):
"""Return the native value of this date."""
return self._handle("native_value")
def set_value(self, value: date) -> None:
"""Change the date."""
self._values["native_value"] = value
def init(empty=False):
"""Initialize the platform with entities."""
global ENTITIES
ENTITIES = (
[]
if empty
else [
MockDateEntity(
name="test",
unique_id=UNIQUE_DATE,
native_value=date(2020, 1, 1),
),
]
)
async def async_setup_platform(
hass, config, async_add_entities_callback, discovery_info=None
):
"""Return mock entities."""
async_add_entities_callback(ENTITIES)