"""The tests for the time component.""" from datetime import time from homeassistant.components.time import DOMAIN, SERVICE_SET_VALUE from homeassistant.const import ( ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME, ATTR_TIME, CONF_PLATFORM, ) from homeassistant.core import HomeAssistant from homeassistant.setup import async_setup_component from tests.common import setup_test_component_platform from tests.components.time.common import MockTimeEntity async def test_date(hass: HomeAssistant) -> None: """Test time entity.""" entity = MockTimeEntity( name="test", unique_id="unique_time", native_value=time(1, 2, 3), ) setup_test_component_platform(hass, DOMAIN, [entity]) assert await async_setup_component(hass, DOMAIN, {DOMAIN: {CONF_PLATFORM: "test"}}) await hass.async_block_till_done() state = hass.states.get("time.test") assert state.state == "01:02:03" assert state.attributes == {ATTR_FRIENDLY_NAME: "test"} await hass.services.async_call( DOMAIN, SERVICE_SET_VALUE, {ATTR_TIME: time(2, 3, 4), ATTR_ENTITY_ID: "time.test"}, blocking=True, ) await hass.async_block_till_done() state = hass.states.get("time.test") assert state.state == "02:03:04" date_entity = MockTimeEntity(native_value=None) assert date_entity.state is None assert date_entity.state_attributes is None