mirror of https://github.com/home-assistant/core
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
"""Tests for the switch domain for Flo by Moen."""
|
|
|
|
import pytest
|
|
|
|
from homeassistant.components.flo.const import DOMAIN as FLO_DOMAIN
|
|
from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN
|
|
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, STATE_OFF, STATE_ON
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.setup import async_setup_component
|
|
|
|
from .common import TEST_PASSWORD, TEST_USER_ID
|
|
|
|
from tests.common import MockConfigEntry
|
|
|
|
|
|
@pytest.mark.usefixtures("aioclient_mock_fixture")
|
|
async def test_valve_switches(
|
|
hass: HomeAssistant, config_entry: MockConfigEntry
|
|
) -> None:
|
|
"""Test Flo by Moen valve switches."""
|
|
config_entry.add_to_hass(hass)
|
|
assert await async_setup_component(
|
|
hass, FLO_DOMAIN, {CONF_USERNAME: TEST_USER_ID, CONF_PASSWORD: TEST_PASSWORD}
|
|
)
|
|
await hass.async_block_till_done()
|
|
|
|
assert len(hass.data[FLO_DOMAIN][config_entry.entry_id]["devices"]) == 2
|
|
|
|
entity_id = "switch.smart_water_shutoff_shutoff_valve"
|
|
assert hass.states.get(entity_id).state == STATE_ON
|
|
|
|
await hass.services.async_call(
|
|
SWITCH_DOMAIN, "turn_off", {"entity_id": entity_id}, blocking=True
|
|
)
|
|
assert hass.states.get(entity_id).state == STATE_OFF
|
|
|
|
await hass.services.async_call(
|
|
SWITCH_DOMAIN, "turn_on", {"entity_id": entity_id}, blocking=True
|
|
)
|
|
assert hass.states.get(entity_id).state == STATE_ON
|