42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
"""Test Met weather entity."""
|
|
|
|
|
|
async def test_tracking_home(hass, mock_weather):
|
|
"""Test we track home."""
|
|
await hass.config_entries.flow.async_init("met", context={"source": "onboarding"})
|
|
await hass.async_block_till_done()
|
|
assert len(hass.states.async_entity_ids("weather")) == 1
|
|
assert len(mock_weather.mock_calls) == 3
|
|
|
|
# Test we track config
|
|
await hass.config.async_update(latitude=10, longitude=20)
|
|
await hass.async_block_till_done()
|
|
|
|
assert len(mock_weather.mock_calls) == 6
|
|
|
|
entry = hass.config_entries.async_entries()[0]
|
|
await hass.config_entries.async_remove(entry.entry_id)
|
|
assert len(hass.states.async_entity_ids("weather")) == 0
|
|
|
|
|
|
async def test_not_tracking_home(hass, mock_weather):
|
|
"""Test when we not track home."""
|
|
await hass.config_entries.flow.async_init(
|
|
"met",
|
|
context={"source": "user"},
|
|
data={"name": "Somewhere", "latitude": 10, "longitude": 20, "elevation": 0},
|
|
)
|
|
await hass.async_block_till_done()
|
|
assert len(hass.states.async_entity_ids("weather")) == 1
|
|
assert len(mock_weather.mock_calls) == 3
|
|
|
|
# Test we do not track config
|
|
await hass.config.async_update(latitude=10, longitude=20)
|
|
await hass.async_block_till_done()
|
|
|
|
assert len(mock_weather.mock_calls) == 3
|
|
|
|
entry = hass.config_entries.async_entries()[0]
|
|
await hass.config_entries.async_remove(entry.entry_id)
|
|
assert len(hass.states.async_entity_ids("weather")) == 0
|