hass-core/tests/components/airzone_cloud/test_select.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

61 lines
1.8 KiB
Python
Raw Normal View History

"""The select tests for the Airzone Cloud platform."""
from unittest.mock import patch
import pytest
from homeassistant.components.select import DOMAIN as SELECT_DOMAIN
from homeassistant.const import ATTR_ENTITY_ID, ATTR_OPTION, SERVICE_SELECT_OPTION
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ServiceValidationError
from .util import async_init_integration
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
async def test_airzone_create_selects(hass: HomeAssistant) -> None:
"""Test creation of selects."""
await async_init_integration(hass)
# Zones
state = hass.states.get("select.dormitorio_air_quality_mode")
assert state.state == "auto"
state = hass.states.get("select.salon_air_quality_mode")
assert state.state == "auto"
async def test_airzone_select_air_quality_mode(hass: HomeAssistant) -> None:
"""Test select Air Quality mode."""
await async_init_integration(hass)
with pytest.raises(ServiceValidationError):
await hass.services.async_call(
SELECT_DOMAIN,
SERVICE_SELECT_OPTION,
{
ATTR_ENTITY_ID: "select.dormitorio_air_quality_mode",
ATTR_OPTION: "Invalid",
},
blocking=True,
)
with patch(
"homeassistant.components.airzone_cloud.AirzoneCloudApi.api_patch_device",
return_value=None,
):
await hass.services.async_call(
SELECT_DOMAIN,
SERVICE_SELECT_OPTION,
{
ATTR_ENTITY_ID: "select.dormitorio_air_quality_mode",
ATTR_OPTION: "off",
},
blocking=True,
)
state = hass.states.get("select.dormitorio_air_quality_mode")
assert state.state == "off"