Add snapshot tests to plaato (#118017)

This commit is contained in:
epenet 2024-05-24 09:23:09 +02:00 committed by GitHub
parent 96d9342f13
commit edd14929e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 794 additions and 0 deletions

View File

@ -1 +1,53 @@
"""Tests for the Plaato integration."""
from unittest.mock import patch
from pyplaato.models.airlock import PlaatoAirlock
from pyplaato.models.device import PlaatoDeviceType
from pyplaato.models.keg import PlaatoKeg
from homeassistant.components.plaato.const import (
CONF_DEVICE_NAME,
CONF_DEVICE_TYPE,
CONF_USE_WEBHOOK,
DOMAIN,
)
from homeassistant.const import CONF_TOKEN
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
# Note: It would be good to replace this test data
# with actual data from the API
AIRLOCK_DATA = {}
KEG_DATA = {}
async def init_integration(
hass: HomeAssistant, device_type: PlaatoDeviceType
) -> MockConfigEntry:
"""Mock integration setup."""
with (
patch(
"homeassistant.components.plaato.Plaato.get_airlock_data",
return_value=PlaatoAirlock(AIRLOCK_DATA),
),
patch(
"homeassistant.components.plaato.Plaato.get_keg_data",
return_value=PlaatoKeg(KEG_DATA),
),
):
entry = MockConfigEntry(
domain=DOMAIN,
data={
CONF_USE_WEBHOOK: False,
CONF_TOKEN: "valid_token",
CONF_DEVICE_TYPE: device_type,
CONF_DEVICE_NAME: "device_name",
},
entry_id="123456",
)
entry.add_to_hass(hass)
await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
return entry

View File

@ -0,0 +1,101 @@
# serializer version: 1
# name: test_binary_sensors[Keg][binary_sensor.plaato_plaatodevicetype_keg_device_name_leaking-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.plaato_plaatodevicetype_keg_device_name_leaking',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Leaking',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.LEAK_DETECTION',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[Keg][binary_sensor.plaato_plaatodevicetype_keg_device_name_leaking-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'device_class': 'problem',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Leaking',
'keg_date': '05/24/24',
'mode': 'Co2',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.plaato_plaatodevicetype_keg_device_name_leaking',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_binary_sensors[Keg][binary_sensor.plaato_plaatodevicetype_keg_device_name_pouring-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.plaato_plaatodevicetype_keg_device_name_pouring',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <BinarySensorDeviceClass.OPENING: 'opening'>,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Pouring',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.POURING',
'unit_of_measurement': None,
})
# ---
# name: test_binary_sensors[Keg][binary_sensor.plaato_plaatodevicetype_keg_device_name_pouring-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'device_class': 'opening',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Pouring',
'keg_date': '05/24/24',
'mode': 'Co2',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.plaato_plaatodevicetype_keg_device_name_pouring',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---

View File

@ -0,0 +1,574 @@
# serializer version: 1
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_alcohol_by_volume-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_alcohol_by_volume',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Alcohol By Volume',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.ABV',
'unit_of_measurement': '%',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_alcohol_by_volume-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Alcohol By Volume',
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_alcohol_by_volume',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_batch_volume-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_batch_volume',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Batch Volume',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.BATCH_VOLUME',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_batch_volume-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Batch Volume',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_batch_volume',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_bubbles-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_bubbles',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Bubbles',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.BUBBLES',
'unit_of_measurement': '',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_bubbles-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Bubbles',
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_bubbles',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_bubbles_per_minute-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_bubbles_per_minute',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Bubbles Per Minute',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.BPM',
'unit_of_measurement': 'bpm',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_bubbles_per_minute-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Bubbles Per Minute',
'unit_of_measurement': 'bpm',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_bubbles_per_minute',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_co2_volume-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_co2_volume',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Co2 Volume',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.CO2_VOLUME',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_co2_volume-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Co2 Volume',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_co2_volume',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_original_gravity-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_original_gravity',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Original Gravity',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.OG',
'unit_of_measurement': '',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_original_gravity-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Original Gravity',
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_original_gravity',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_specific_gravity-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_specific_gravity',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Specific Gravity',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.SG',
'unit_of_measurement': '',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_specific_gravity-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Specific Gravity',
'unit_of_measurement': '',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_specific_gravity',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_temperature',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Airlock Device_Name Temperature',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.TEMPERATURE',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[Airlock][sensor.plaato_plaatodevicetype_airlock_device_name_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Plaato Plaatodevicetype.Airlock Device_Name Temperature',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_airlock_device_name_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_beer_left-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_beer_left',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Beer Left',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.BEER_LEFT',
'unit_of_measurement': None,
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_beer_left-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Beer Left',
'keg_date': '05/24/24',
'mode': 'Co2',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_beer_left',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_last_pour_amount-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_last_pour_amount',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Last Pour Amount',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.LAST_POUR',
'unit_of_measurement': 'oz',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_last_pour_amount-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Last Pour Amount',
'keg_date': '05/24/24',
'mode': 'Co2',
'unit_of_measurement': 'oz',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_last_pour_amount',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_percent_beer_left-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_percent_beer_left',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Percent Beer Left',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.PERCENT_BEER_LEFT',
'unit_of_measurement': '%',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_percent_beer_left-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Percent Beer Left',
'keg_date': '05/24/24',
'mode': 'Co2',
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_percent_beer_left',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_temperature',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
'original_icon': None,
'original_name': 'Plaato Plaatodevicetype.Keg Device_Name Temperature',
'platform': 'plaato',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': 'valid_token_Pins.TEMPERATURE',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
# name: test_sensors[Keg][sensor.plaato_plaatodevicetype_keg_device_name_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'beer_name': 'Beer',
'device_class': 'temperature',
'friendly_name': 'Plaato Plaatodevicetype.Keg Device_Name Temperature',
'keg_date': '05/24/24',
'mode': 'Co2',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
}),
'context': <ANY>,
'entity_id': 'sensor.plaato_plaatodevicetype_keg_device_name_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'unknown',
})
# ---

View File

@ -0,0 +1,33 @@
"""Tests for the plaato binary sensors."""
from unittest.mock import patch
from pyplaato.models.device import PlaatoDeviceType
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import init_integration
from tests.common import snapshot_platform
# note: PlaatoDeviceType.Airlock does not provide binary sensors
@pytest.mark.parametrize("device_type", [PlaatoDeviceType.Keg])
async def test_binary_sensors(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
device_type: PlaatoDeviceType,
) -> None:
"""Test binary sensors."""
with patch(
"homeassistant.components.plaato.PLATFORMS",
[Platform.BINARY_SENSOR],
):
entry = await init_integration(hass, device_type)
await snapshot_platform(hass, entity_registry, snapshot, entry.entry_id)

View File

@ -0,0 +1,34 @@
"""Tests for the plaato sensors."""
from unittest.mock import patch
from pyplaato.models.device import PlaatoDeviceType
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import init_integration
from tests.common import snapshot_platform
@pytest.mark.parametrize(
"device_type", [PlaatoDeviceType.Airlock, PlaatoDeviceType.Keg]
)
async def test_sensors(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
device_type: PlaatoDeviceType,
) -> None:
"""Test sensors."""
with patch(
"homeassistant.components.plaato.PLATFORMS",
[Platform.SENSOR],
):
entry = await init_integration(hass, device_type)
await snapshot_platform(hass, entity_registry, snapshot, entry.entry_id)