2022-12-22 21:00:17 +00:00
|
|
|
"""Tests for rainbird sensor platform."""
|
|
|
|
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
from homeassistant.const import Platform
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
|
2023-01-07 17:34:01 +00:00
|
|
|
from .conftest import RAIN_DELAY, RAIN_DELAY_OFF, ComponentSetup
|
2022-12-22 21:00:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def platforms() -> list[str]:
|
|
|
|
"""Fixture to specify platforms to test."""
|
|
|
|
return [Platform.SENSOR]
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
2023-01-07 17:34:01 +00:00
|
|
|
"rain_delay_response,expected_state",
|
|
|
|
[(RAIN_DELAY, "16"), (RAIN_DELAY_OFF, "0")],
|
2022-12-22 21:00:17 +00:00
|
|
|
)
|
|
|
|
async def test_sensors(
|
|
|
|
hass: HomeAssistant,
|
|
|
|
setup_integration: ComponentSetup,
|
2023-01-07 17:34:01 +00:00
|
|
|
expected_state: str,
|
2022-12-22 21:00:17 +00:00
|
|
|
) -> None:
|
|
|
|
"""Test sensor platform."""
|
|
|
|
|
|
|
|
assert await setup_integration()
|
|
|
|
|
|
|
|
raindelay = hass.states.get("sensor.raindelay")
|
|
|
|
assert raindelay is not None
|
2023-01-07 17:34:01 +00:00
|
|
|
assert raindelay.state == expected_state
|
|
|
|
assert raindelay.attributes == {
|
|
|
|
"friendly_name": "Raindelay",
|
|
|
|
"icon": "mdi:water-off",
|
|
|
|
}
|