mirror of
https://github.com/basnijholt/adaptive-lighting.git
synced 2026-10-28 14:17:07 +01:00
Merge 8aa0c9bd86 into b2ca188df3
This commit is contained in:
commit
2bd2a2dc96
2 changed files with 27 additions and 2 deletions
|
|
@ -106,7 +106,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
|
||||
# This will reload any changes the user made to any YAML configurations.
|
||||
# Called during 'quick reload' or hass.reload_config_entry
|
||||
hass.bus.async_listen("hass.config.entry_updated", reload_configuration_yaml)
|
||||
config_entry.async_on_unload(
|
||||
hass.bus.async_listen("hass.config.entry_updated", reload_configuration_yaml),
|
||||
)
|
||||
|
||||
undo_listener = config_entry.add_update_listener(async_update_options)
|
||||
data[config_entry.entry_id] = {UNDO_UPDATE_LISTENER: undo_listener}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ from homeassistant.exceptions import ServiceValidationError
|
|||
from homeassistant.helpers import service
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
from tests.common import MockConfigEntry, async_mock_service
|
||||
|
||||
|
||||
async def test_setup_with_config(hass):
|
||||
|
|
@ -64,6 +64,29 @@ async def test_unload_entry(hass):
|
|||
assert adaptive_lighting.DOMAIN not in hass.data
|
||||
|
||||
|
||||
async def test_config_entry_updated_listener_removed_on_unload(hass):
|
||||
"""Test config entry updates stop reloading YAML after the entry unloads."""
|
||||
entry = MockConfigEntry(
|
||||
domain=adaptive_lighting.DOMAIN,
|
||||
data={CONF_NAME: DEFAULT_NAME},
|
||||
)
|
||||
entry.add_to_hass(hass)
|
||||
calls = async_mock_service(hass, "homeassistant", "check_config")
|
||||
|
||||
assert await hass.config_entries.async_setup(entry.entry_id)
|
||||
|
||||
hass.bus.async_fire("hass.config.entry_updated", {"hass": hass})
|
||||
await hass.async_block_till_done()
|
||||
assert len(calls) == 1
|
||||
|
||||
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
hass.bus.async_fire("hass.config.entry_updated", {"hass": hass})
|
||||
await hass.async_block_till_done()
|
||||
assert len(calls) == 1
|
||||
|
||||
|
||||
async def test_services_survive_entry_unload_and_reload(hass):
|
||||
"""Test integration services remain registered across entry lifecycle."""
|
||||
assert await async_setup_component(hass, adaptive_lighting.DOMAIN, {})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue