52 lines
1.5 KiB
Python
52 lines
1.5 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
|