"""Repair tests.""" import pytest from homeassistant.components.tado.const import ( CONST_OVERLAY_MANUAL, CONST_OVERLAY_TADO_DEFAULT, CONST_OVERLAY_TADO_MODE, DOMAIN, WATER_HEATER_FALLBACK_REPAIR, ) from homeassistant.components.tado.repairs import manage_water_heater_fallback_issue from homeassistant.core import HomeAssistant from homeassistant.helpers import issue_registry as ir class MockWaterHeater: """Mock Water heater entity.""" def __init__(self, zone_name) -> None: """Init mock entity class.""" self.zone_name = zone_name async def test_manage_water_heater_fallback_issue_not_created( hass: HomeAssistant, issue_registry: ir.IssueRegistry, ) -> None: """Test water heater fallback issue is not needed.""" zone_name = "Hot Water" expected_issue_id = f"{WATER_HEATER_FALLBACK_REPAIR}_{zone_name}" water_heater_names = [zone_name] manage_water_heater_fallback_issue( water_heater_names=water_heater_names, integration_overlay_fallback=CONST_OVERLAY_TADO_MODE, hass=hass, ) assert ( issue_registry.async_get_issue(issue_id=expected_issue_id, domain=DOMAIN) is None ) @pytest.mark.parametrize( "integration_overlay_fallback", [CONST_OVERLAY_TADO_DEFAULT, CONST_OVERLAY_MANUAL] ) async def test_manage_water_heater_fallback_issue_created( hass: HomeAssistant, issue_registry: ir.IssueRegistry, integration_overlay_fallback: str, ) -> None: """Test water heater fallback issue created cases.""" zone_name = "Hot Water" expected_issue_id = f"{WATER_HEATER_FALLBACK_REPAIR}_{zone_name}" water_heater_names = [zone_name] manage_water_heater_fallback_issue( water_heater_names=water_heater_names, integration_overlay_fallback=integration_overlay_fallback, hass=hass, ) assert ( issue_registry.async_get_issue(issue_id=expected_issue_id, domain=DOMAIN) is not None )