core/tests/components/holiday/test_init.py

30 lines
854 B
Python
Raw Normal View History

Add Holiday integration (#103795) * Add Holiday integration * Localize holiday names * Changes based on review feedback * Add tests * Add device info * Bump holidays to 0.36 * Default to Home Assistant country setting * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update homeassistant/components/holiday/config_flow.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * black * Move time * Stop creating duplicate holiday calendars * Set default language using python-holiday * Use common translation * Set _attr_name to None to fix friendly name * Fix location * Update homeassistant/components/holiday/__init__.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update tests/components/holiday/test_init.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * cleanup * Set up the integration and test the state * Test that configuring more than one instance is rejected * Set default_language to user's language, fallback to country's default language * Improve tests * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Cleanup * Add next year so we don't run out * Update tests/components/holiday/test_init.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Cleanup * Set default language in `__init__` * Add strict typing * Change default language: HA's language `en` is `en_US` in holidays, apart from Canada * CONF_PROVINCE can be None * Fix test * Fix default_language * Refactor tests * Province can be None * Add test for translated title * Address feedback * Address feedback * Change test to use service call * Address feedback * Apply suggestions from code review Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Changes based on review feedback * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Update homeassistant/components/holiday/calendar.py Co-authored-by: G Johansson <goran.johansson@shiftit.se> * Add a test if next event is missing * Rebase * Set device to service * Remove not needed translation key --------- Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-03 15:28:53 +00:00
"""Tests for the Holiday integration."""
from homeassistant.components.holiday.const import DOMAIN
from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
MOCK_CONFIG_DATA = {
"country": "Germany",
"province": "BW",
}
async def test_unload_entry(hass: HomeAssistant) -> None:
"""Test removing integration."""
entry = MockConfigEntry(domain=DOMAIN, data=MOCK_CONFIG_DATA)
entry.add_to_hass(hass)
await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
assert entry.state == ConfigEntryState.LOADED
assert await hass.config_entries.async_unload(entry.entry_id)
await hass.async_block_till_done()
state: ConfigEntryState = entry.state
assert state == ConfigEntryState.NOT_LOADED