hass-core/tests/components/met/test_weather.py
Paulus Schoutsen f2962a0d16
Set up Met during onboarding ()
* Set up Met during onboarding

* Lint

* Add pyMetNo to test reqs
2019-06-19 14:41:27 -07:00

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