From 48d1692cd6e26c9aec6e2e10fc562257f5222631 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sat, 20 Apr 2024 21:29:14 +0200 Subject: [PATCH] Use snapshot test helper in Ambient Network (#115887) --- .../snapshots/test_sensor.ambr | 119 ++++++++++++++++-- .../components/ambient_network/test_sensor.py | 14 +-- 2 files changed, 110 insertions(+), 23 deletions(-) diff --git a/tests/components/ambient_network/snapshots/test_sensor.ambr b/tests/components/ambient_network/snapshots/test_sensor.ambr index 377018c54be..fadb15ad015 100644 --- a/tests/components/ambient_network/snapshots/test_sensor.ambr +++ b/tests/components/ambient_network/snapshots/test_sensor.ambr @@ -10,7 +10,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_absolute_pressure', @@ -22,6 +22,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), 'sensor.private': dict({ 'suggested_unit_of_measurement': , }), @@ -38,7 +41,21 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_absolute_pressure-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'device_class': 'pressure', + 'friendly_name': 'Station A Absolute pressure', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.station_a_absolute_pressure', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '977.616536580043', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_daily_rain-entry] EntityRegistryEntrySnapshot({ @@ -332,7 +349,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_irradiance', @@ -344,6 +361,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), }), 'original_device_class': , 'original_icon': None, @@ -357,7 +377,21 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_irradiance-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'device_class': 'irradiance', + 'friendly_name': 'Station A Irradiance', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.station_a_irradiance', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '37.64', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_last_rain-entry] EntityRegistryEntrySnapshot({ @@ -368,7 +402,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_last_rain', @@ -393,7 +427,19 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_last_rain-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'device_class': 'timestamp', + 'friendly_name': 'Station A Last rain', + }), + 'context': , + 'entity_id': 'sensor.station_a_last_rain', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2023-10-30T09:45:00+00:00', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_max_daily_gust-entry] EntityRegistryEntrySnapshot({ @@ -464,7 +510,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_monthly_rain', @@ -476,6 +522,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), 'sensor.private': dict({ 'suggested_unit_of_measurement': , }), @@ -492,7 +541,21 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_monthly_rain-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'device_class': 'precipitation', + 'friendly_name': 'Station A Monthly rain', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.station_a_monthly_rain', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_relative_pressure-entry] EntityRegistryEntrySnapshot({ @@ -672,7 +735,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_weekly_rain', @@ -684,6 +747,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), 'sensor.private': dict({ 'suggested_unit_of_measurement': , }), @@ -700,7 +766,21 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_weekly_rain-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'device_class': 'precipitation', + 'friendly_name': 'Station A Weekly rain', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.station_a_weekly_rain', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_wind_direction-entry] EntityRegistryEntrySnapshot({ @@ -711,7 +791,7 @@ 'config_entry_id': , 'device_class': None, 'device_id': , - 'disabled_by': , + 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, 'entity_id': 'sensor.station_a_wind_direction', @@ -723,6 +803,9 @@ }), 'name': None, 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), }), 'original_device_class': None, 'original_icon': None, @@ -736,7 +819,19 @@ }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_wind_direction-state] - None + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'attribution': 'Data provided by ambientnetwork.net', + 'friendly_name': 'Station A Wind direction', + 'unit_of_measurement': '°', + }), + 'context': , + 'entity_id': 'sensor.station_a_wind_direction', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '11', + }) # --- # name: test_sensors[AA:AA:AA:AA:AA:AA][sensor.station_a_wind_gust-entry] EntityRegistryEntrySnapshot({ diff --git a/tests/components/ambient_network/test_sensor.py b/tests/components/ambient_network/test_sensor.py index b556c0c9c7c..35aa90ffe05 100644 --- a/tests/components/ambient_network/test_sensor.py +++ b/tests/components/ambient_network/test_sensor.py @@ -14,11 +14,12 @@ from homeassistant.helpers import entity_registry as er from .conftest import setup_platform -from tests.common import async_fire_time_changed +from tests.common import async_fire_time_changed, snapshot_platform @freeze_time("2023-11-08") @pytest.mark.parametrize("config_entry", ["AA:AA:AA:AA:AA:AA"], indirect=True) +@pytest.mark.usefixtures("entity_registry_enabled_by_default") async def test_sensors( hass: HomeAssistant, open_api: OpenAPI, @@ -30,16 +31,7 @@ async def test_sensors( """Test all sensors under normal operation.""" await setup_platform(True, hass, config_entry) - entity_entries = er.async_entries_for_config_entry( - entity_registry, config_entry.entry_id - ) - - assert entity_entries - for entity_entry in entity_entries: - assert hass.states.get(entity_entry.entity_id) == snapshot( - name=f"{entity_entry.entity_id}-state" - ) - assert entity_entry == snapshot(name=f"{entity_entry.entity_id}-entry") + await snapshot_platform(hass, entity_registry, snapshot, config_entry.entry_id) @freeze_time("2023-11-09")