Skip to content

Commit 935d6d2

Browse files
committed
fixup! fixup! fixup! fixup! Refactor tests in GIOS
1 parent 8f35686 commit 935d6d2

File tree

3 files changed

+33
-32
lines changed

3 files changed

+33
-32
lines changed

tests/components/gios/conftest.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
from homeassistant.components.gios.const import DOMAIN
1010
from homeassistant.core import HomeAssistant
1111

12+
from . import setup_integration
13+
1214
from tests.common import MockConfigEntry
1315

1416

@@ -47,7 +49,7 @@ def mock_config_entry() -> MockConfigEntry:
4749

4850
@pytest.fixture
4951
async def mock_gios(hass: HomeAssistant) -> AsyncGenerator[MagicMock]:
50-
"""Return a mocked GIOS client."""
52+
"""Yield a mocked GIOS client."""
5153
with (
5254
patch("homeassistant.components.gios.Gios") as mock_gios,
5355
patch("homeassistant.components.gios.coordinator.Gios", mock_gios),
@@ -73,8 +75,6 @@ async def init_integration(
7375
mock_gios: MagicMock,
7476
) -> MockConfigEntry:
7577
"""Set up the GIOS integration for testing."""
76-
mock_config_entry.add_to_hass(hass)
77-
await hass.config_entries.async_setup(mock_config_entry.entry_id)
78-
await hass.async_block_till_done()
78+
await setup_integration(hass, mock_config_entry)
7979

8080
return mock_config_entry

tests/components/gios/test_init.py

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
from homeassistant.components.air_quality import DOMAIN as AIR_QUALITY_PLATFORM
66
from homeassistant.components.gios.const import DOMAIN
77
from homeassistant.config_entries import ConfigEntryState
8-
from homeassistant.const import STATE_UNAVAILABLE, Platform
8+
from homeassistant.const import STATE_UNAVAILABLE
99
from homeassistant.core import HomeAssistant
1010
from homeassistant.helpers import device_registry as dr, entity_registry as er
1111

12-
from . import setup_integration
13-
1412
from tests.common import MockConfigEntry
1513

1614

@@ -96,25 +94,3 @@ async def test_remove_air_quality_entities(
9694

9795
entry = entity_registry.async_get("air_quality.home")
9896
assert entry is None
99-
100-
101-
async def test_unique_id_migration(
102-
hass: HomeAssistant,
103-
entity_registry: er.EntityRegistry,
104-
mock_gios: MagicMock,
105-
mock_config_entry: MockConfigEntry,
106-
) -> None:
107-
"""Test states of the unique_id migration."""
108-
entity_registry.async_get_or_create(
109-
Platform.SENSOR,
110-
DOMAIN,
111-
"123-pm2.5",
112-
suggested_object_id="home_pm2_5",
113-
disabled_by=None,
114-
)
115-
116-
await setup_integration(hass, mock_config_entry)
117-
118-
entry = entity_registry.async_get("sensor.home_pm2_5")
119-
assert entry
120-
assert entry.unique_id == "123-pm25"

tests/components/gios/test_sensor.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
import pytest
1010
from syrupy.assertion import SnapshotAssertion
1111

12-
from homeassistant.components.gios.const import SCAN_INTERVAL
12+
from homeassistant.components.gios.const import DOMAIN, SCAN_INTERVAL
1313
from homeassistant.const import STATE_UNAVAILABLE, Platform
1414
from homeassistant.core import HomeAssistant
1515
from homeassistant.helpers import entity_registry as er
1616

17-
from tests.common import MockConfigEntry, async_fire_time_changed, snapshot_platform
17+
from . import setup_integration
1818

19-
pytestmark = pytest.mark.usefixtures("init_integration")
19+
from tests.common import MockConfigEntry, async_fire_time_changed, snapshot_platform
2020

2121

2222
@pytest.fixture(autouse=True)
@@ -26,6 +26,7 @@ def override_platforms() -> Generator[None]:
2626
yield
2727

2828

29+
@pytest.mark.usefixtures("init_integration")
2930
async def test_sensor(
3031
hass: HomeAssistant,
3132
entity_registry: er.EntityRegistry,
@@ -36,6 +37,7 @@ async def test_sensor(
3637
await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id)
3738

3839

40+
@pytest.mark.usefixtures("init_integration")
3941
async def test_availability(hass: HomeAssistant) -> None:
4042
"""Ensure that we mark the entities unavailable correctly when service causes an error."""
4143
state = hass.states.get("sensor.home_pm2_5")
@@ -51,6 +53,7 @@ async def test_availability(hass: HomeAssistant) -> None:
5153
assert state.state == "good"
5254

5355

56+
@pytest.mark.usefixtures("init_integration")
5457
async def test_availability_api_error(
5558
hass: HomeAssistant,
5659
mock_gios: MagicMock,
@@ -124,3 +127,25 @@ async def test_availability_api_error(
124127
state = hass.states.get("sensor.home_air_quality_index")
125128
assert state
126129
assert state.state == "good"
130+
131+
132+
async def test_unique_id_migration(
133+
hass: HomeAssistant,
134+
entity_registry: er.EntityRegistry,
135+
mock_gios: MagicMock,
136+
mock_config_entry: MockConfigEntry,
137+
) -> None:
138+
"""Test states of the unique_id migration."""
139+
entity_registry.async_get_or_create(
140+
Platform.SENSOR,
141+
DOMAIN,
142+
"123-pm2.5",
143+
suggested_object_id="home_pm2_5",
144+
disabled_by=None,
145+
)
146+
147+
await setup_integration(hass, mock_config_entry)
148+
149+
entry = entity_registry.async_get("sensor.home_pm2_5")
150+
assert entry
151+
assert entry.unique_id == "123-pm25"

0 commit comments

Comments
 (0)