async def test_initial_state_offline(opp: OpenPeerPower): """Validate that entity and device are restored from config is offline on startup.""" client = ClientMock() client.is_offline = True entity, device, _ = await _create_entries(opp, client) state = opp.states.get(entity.entity_id) assert state.name == TEST_NAME_ORIGINAL assert state.state == "unavailable" assert state.attributes["friendly_name"] == TEST_NAME_ORIGINAL assert state.attributes["icon"] == "mdi:string-lights" assert entity.original_name == TEST_NAME_ORIGINAL assert entity.original_icon == "mdi:string-lights" assert device.name == TEST_NAME_ORIGINAL assert device.model == TEST_MODEL assert device.manufacturer == "LEDWORKS"
async def test_config_entry_not_ready(hass: HomeAssistant): """Validate that config entry is retried.""" client = ClientMock() client.is_offline = True config_entry = MockConfigEntry( domain=TWINKLY_DOMAIN, data={ CONF_HOST: TEST_HOST, CONF_ID: id, CONF_NAME: TEST_NAME_ORIGINAL, CONF_MODEL: TEST_MODEL, }, ) config_entry.add_to_hass(hass) with patch("homeassistant.components.twinkly.Twinkly", return_value=client): await hass.config_entries.async_setup(config_entry.entry_id) assert config_entry.state is ConfigEntryState.SETUP_RETRY