diff --git a/tests/components/ondilo_ico/snapshots/test_sensor.ambr b/tests/components/ondilo_ico/snapshots/test_sensor.ambr new file mode 100644 index 00000000000..e55b030e820 --- /dev/null +++ b/tests/components/ondilo_ico/snapshots/test_sensor.ambr @@ -0,0 +1,703 @@ +# serializer version: 1 +# name: test_sensors[sensor.pool_1_battery-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'W1122333044455-battery', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.pool_1_battery-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Pool 1 Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.pool_1_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '50', + }) +# --- +# name: test_sensors[sensor.pool_1_oxydo_reduction_potential-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_oxydo_reduction_potential', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Oxydo reduction potential', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'oxydo_reduction_potential', + 'unique_id': 'W1122333044455-orp', + 'unit_of_measurement': , + }) +# --- +# name: test_sensors[sensor.pool_1_oxydo_reduction_potential-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 1 Oxydo reduction potential', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.pool_1_oxydo_reduction_potential', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '647', + }) +# --- +# name: test_sensors[sensor.pool_1_ph-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_ph', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'pH', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'ph', + 'unique_id': 'W1122333044455-ph', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.pool_1_ph-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 1 pH', + 'state_class': , + }), + 'context': , + 'entity_id': 'sensor.pool_1_ph', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '9.29', + }) +# --- +# name: test_sensors[sensor.pool_1_rssi-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_rssi', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'RSSI', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rssi', + 'unique_id': 'W1122333044455-rssi', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.pool_1_rssi-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 1 RSSI', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.pool_1_rssi', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '60', + }) +# --- +# name: test_sensors[sensor.pool_1_salt-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_salt', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Salt', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'salt', + 'unique_id': 'W1122333044455-salt', + 'unit_of_measurement': 'mg/L', + }) +# --- +# name: test_sensors[sensor.pool_1_salt-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 1 Salt', + 'state_class': , + 'unit_of_measurement': 'mg/L', + }), + 'context': , + 'entity_id': 'sensor.pool_1_salt', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensors[sensor.pool_1_tds-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_tds', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'TDS', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'tds', + 'unique_id': 'W1122333044455-tds', + 'unit_of_measurement': 'ppm', + }) +# --- +# name: test_sensors[sensor.pool_1_tds-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 1 TDS', + 'state_class': , + 'unit_of_measurement': 'ppm', + }), + 'context': , + 'entity_id': 'sensor.pool_1_tds', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '845', + }) +# --- +# name: test_sensors[sensor.pool_1_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_1_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Temperature', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'W1122333044455-temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_sensors[sensor.pool_1_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'Pool 1 Temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.pool_1_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '19', + }) +# --- +# name: test_sensors[sensor.pool_2_battery-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_battery', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'W2233304445566-battery', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.pool_2_battery-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Pool 2 Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.pool_2_battery', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '50', + }) +# --- +# name: test_sensors[sensor.pool_2_oxydo_reduction_potential-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_oxydo_reduction_potential', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Oxydo reduction potential', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'oxydo_reduction_potential', + 'unique_id': 'W2233304445566-orp', + 'unit_of_measurement': , + }) +# --- +# name: test_sensors[sensor.pool_2_oxydo_reduction_potential-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 2 Oxydo reduction potential', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.pool_2_oxydo_reduction_potential', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '647', + }) +# --- +# name: test_sensors[sensor.pool_2_ph-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_ph', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'pH', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'ph', + 'unique_id': 'W2233304445566-ph', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.pool_2_ph-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 2 pH', + 'state_class': , + }), + 'context': , + 'entity_id': 'sensor.pool_2_ph', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '9.29', + }) +# --- +# name: test_sensors[sensor.pool_2_rssi-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_rssi', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'RSSI', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'rssi', + 'unique_id': 'W2233304445566-rssi', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.pool_2_rssi-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 2 RSSI', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.pool_2_rssi', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '60', + }) +# --- +# name: test_sensors[sensor.pool_2_salt-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_salt', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Salt', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'salt', + 'unique_id': 'W2233304445566-salt', + 'unit_of_measurement': 'mg/L', + }) +# --- +# name: test_sensors[sensor.pool_2_salt-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 2 Salt', + 'state_class': , + 'unit_of_measurement': 'mg/L', + }), + 'context': , + 'entity_id': 'sensor.pool_2_salt', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensors[sensor.pool_2_tds-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_tds', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'TDS', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'tds', + 'unique_id': 'W2233304445566-tds', + 'unit_of_measurement': 'ppm', + }) +# --- +# name: test_sensors[sensor.pool_2_tds-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Pool 2 TDS', + 'state_class': , + 'unit_of_measurement': 'ppm', + }), + 'context': , + 'entity_id': 'sensor.pool_2_tds', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '845', + }) +# --- +# name: test_sensors[sensor.pool_2_temperature-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.pool_2_temperature', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Temperature', + 'platform': 'ondilo_ico', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'W2233304445566-temperature', + 'unit_of_measurement': , + }) +# --- +# name: test_sensors[sensor.pool_2_temperature-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'Pool 2 Temperature', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.pool_2_temperature', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '19', + }) +# --- diff --git a/tests/components/ondilo_ico/test_sensor.py b/tests/components/ondilo_ico/test_sensor.py index e5246183a7c..0043d22f6c0 100644 --- a/tests/components/ondilo_ico/test_sensor.py +++ b/tests/components/ondilo_ico/test_sensor.py @@ -1,31 +1,32 @@ """Test Ondilo ICO integration sensors.""" from typing import Any -from unittest.mock import MagicMock +from unittest.mock import MagicMock, patch from ondilo import OndiloError +from syrupy import SnapshotAssertion +from homeassistant.const import Platform from homeassistant.core import HomeAssistant +from homeassistant.helpers import entity_registry as er from . import setup_integration -from tests.common import MockConfigEntry +from tests.common import MockConfigEntry, snapshot_platform -async def test_can_get_pools_when_no_error( +async def test_sensors( hass: HomeAssistant, mock_ondilo_client: MagicMock, config_entry: MockConfigEntry, + entity_registry: er.EntityRegistry, + snapshot: SnapshotAssertion, ) -> None: """Test that I can get all pools data when no error.""" - await setup_integration(hass, config_entry, mock_ondilo_client) + with patch("homeassistant.components.ondilo_ico.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, config_entry, mock_ondilo_client) - # All sensors were created - assert len(hass.states.async_all()) == 14 - - # Check 2 of the sensors. - assert hass.states.get("sensor.pool_1_temperature").state == "19" - assert hass.states.get("sensor.pool_2_rssi").state == "60" + await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id) async def test_no_ico_for_one_pool(