core/tests/components/tankerkoenig/test_sensor.py

66 lines
1.9 KiB
Python

"""Tests for the Tankerkoening integration."""
from __future__ import annotations
from unittest.mock import AsyncMock
import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.tankerkoenig import DOMAIN
from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component
from .const import PRICES_MISSING_FUELTYPE, STATION_MISSING_FUELTYPE
from tests.common import MockConfigEntry
@pytest.mark.usefixtures("setup_integration")
async def test_sensor(
hass: HomeAssistant,
tankerkoenig: AsyncMock,
config_entry: MockConfigEntry,
snapshot: SnapshotAssertion,
) -> None:
"""Test the tankerkoenig sensors."""
state = hass.states.get("sensor.station_somewhere_street_1_super_e10")
assert state
assert state.state == "1.659"
assert state.attributes == snapshot
state = hass.states.get("sensor.station_somewhere_street_1_super")
assert state
assert state.state == "1.719"
assert state.attributes == snapshot
state = hass.states.get("sensor.station_somewhere_street_1_diesel")
assert state
assert state.state == "1.659"
assert state.attributes == snapshot
async def test_sensor_missing_fueltype(
hass: HomeAssistant,
tankerkoenig: AsyncMock,
config_entry: MockConfigEntry,
) -> None:
"""Test the tankerkoenig sensors."""
tankerkoenig.station_details.return_value = STATION_MISSING_FUELTYPE
tankerkoenig.prices.return_value = PRICES_MISSING_FUELTYPE
config_entry.add_to_hass(hass)
assert await async_setup_component(hass, DOMAIN, {})
await hass.async_block_till_done()
state = hass.states.get("sensor.station_somewhere_street_1_super_e10")
assert state
state = hass.states.get("sensor.station_somewhere_street_1_super")
assert state
state = hass.states.get("sensor.station_somewhere_street_1_diesel")
assert not state