mirror of
https://github.com/home-assistant/core.git
synced 2025-05-12 09:59:20 +00:00
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
"""Test the switchbot switches."""
|
|
|
|
from collections.abc import Callable
|
|
from unittest.mock import patch
|
|
|
|
from homeassistant.components.switch import STATE_ON
|
|
from homeassistant.core import HomeAssistant, State
|
|
|
|
from . import WOHAND_SERVICE_INFO
|
|
|
|
from tests.common import MockConfigEntry, mock_restore_cache
|
|
from tests.components.bluetooth import inject_bluetooth_service_info
|
|
|
|
|
|
async def test_switchbot_switch_with_restore_state(
|
|
hass: HomeAssistant,
|
|
mock_entry_factory: Callable[[str], MockConfigEntry],
|
|
) -> None:
|
|
"""Test that Switchbot Switch restores state correctly after reboot."""
|
|
inject_bluetooth_service_info(hass, WOHAND_SERVICE_INFO)
|
|
|
|
entry = mock_entry_factory(sensor_type="bot")
|
|
entity_id = "switch.test_name"
|
|
|
|
mock_restore_cache(
|
|
hass,
|
|
[
|
|
State(
|
|
entity_id,
|
|
STATE_ON,
|
|
{"last_run_success": True},
|
|
)
|
|
],
|
|
)
|
|
|
|
entry.add_to_hass(hass)
|
|
|
|
with patch(
|
|
"homeassistant.components.switchbot.switch.switchbot.Switchbot.switch_mode",
|
|
return_value=False,
|
|
):
|
|
assert await hass.config_entries.async_setup(entry.entry_id)
|
|
await hass.async_block_till_done()
|
|
|
|
state = hass.states.get(entity_id)
|
|
assert state.state == STATE_ON
|
|
assert state.attributes["last_run_success"] is True
|