mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Add snapshot tests to plaato (#118017)
This commit is contained in:
parent
96d9342f13
commit
edd14929e3
@ -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
|
||||
|
101
tests/components/plaato/snapshots/test_binary_sensor.ambr
Normal file
101
tests/components/plaato/snapshots/test_binary_sensor.ambr
Normal 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',
|
||||
})
|
||||
# ---
|
574
tests/components/plaato/snapshots/test_sensor.ambr
Normal file
574
tests/components/plaato/snapshots/test_sensor.ambr
Normal 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',
|
||||
})
|
||||
# ---
|
33
tests/components/plaato/test_binary_sensor.py
Normal file
33
tests/components/plaato/test_binary_sensor.py
Normal 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)
|
34
tests/components/plaato/test_sensor.py
Normal file
34
tests/components/plaato/test_sensor.py
Normal 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)
|
Loading…
x
Reference in New Issue
Block a user