"""The event entity tests for Folder Watcher.""" from pathlib import Path from time import sleep from syrupy.assertion import SnapshotAssertion from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er from tests.common import MockConfigEntry async def test_event_entity( hass: HomeAssistant, load_int: MockConfigEntry, entity_registry: er.EntityRegistry, snapshot: SnapshotAssertion, tmp_path: Path, ) -> None: """Test the event entity.""" entry = load_int await hass.async_block_till_done() file = tmp_path.joinpath("hello.txt") file.write_text("Hello, world!") new_file = tmp_path.joinpath("hello2.txt") file.rename(new_file) await hass.async_add_executor_job(sleep, 0.1) entity_entries = er.async_entries_for_config_entry(entity_registry, entry.entry_id) assert entity_entries def limit_attrs(prop, path): exclude_attrs = { "entity_id", "friendly_name", "folder", "path", "dest_folder", "dest_path", } return prop in exclude_attrs for entity_entry in entity_entries: assert entity_entry == snapshot( name=f"{entity_entry.unique_id}-entry", exclude=limit_attrs ) assert (state := hass.states.get(entity_entry.entity_id)) assert state == snapshot( name=f"{entity_entry.unique_id}-state", exclude=limit_attrs )