Skip to content

Commit 9b3ed3e

Browse files
zxdavbjoostlek
andauthored
Add tests of evohome integration-specific services (#129206)
Co-authored-by: Joost Lekkerkerker <[email protected]>
1 parent c59197e commit 9b3ed3e

File tree

1 file changed

+44
-2
lines changed

1 file changed

+44
-2
lines changed

tests/components/evohome/test_init.py

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
import logging
77
from unittest.mock import patch
88

9-
from evohomeasync2 import exceptions as exc
9+
from evohomeasync2 import EvohomeClient, exceptions as exc
1010
from evohomeasync2.broker import _ERR_MSG_LOOKUP_AUTH, _ERR_MSG_LOOKUP_BASE
1111
from freezegun.api import FrozenDateTimeFactory
1212
import pytest
1313
from syrupy import SnapshotAssertion
1414

15-
from homeassistant.components.evohome import DOMAIN
15+
from homeassistant.components.evohome import DOMAIN, EvoService
1616
from homeassistant.core import HomeAssistant
1717
from homeassistant.setup import async_setup_component
1818

@@ -146,3 +146,45 @@ async def test_client_request_failure_v2(
146146
assert caplog.record_tuples == REQUEST_FAILED_LOOKUP.get(
147147
status, [SETUP_FAILED_UNEXPECTED]
148148
)
149+
150+
151+
@pytest.mark.parametrize("install", ["default"])
152+
async def test_service_refresh_system(
153+
hass: HomeAssistant,
154+
evohome: EvohomeClient,
155+
) -> None:
156+
"""Test EvoService.REFRESH_SYSTEM of an evohome system."""
157+
158+
# EvoService.REFRESH_SYSTEM
159+
with patch("evohomeasync2.location.Location.refresh_status") as mock_fcn:
160+
await hass.services.async_call(
161+
DOMAIN,
162+
EvoService.REFRESH_SYSTEM,
163+
{},
164+
blocking=True,
165+
)
166+
167+
assert mock_fcn.await_count == 1
168+
assert mock_fcn.await_args.args == ()
169+
assert mock_fcn.await_args.kwargs == {}
170+
171+
172+
@pytest.mark.parametrize("install", ["default"])
173+
async def test_service_reset_system(
174+
hass: HomeAssistant,
175+
evohome: EvohomeClient,
176+
) -> None:
177+
"""Test EvoService.RESET_SYSTEM of an evohome system."""
178+
179+
# EvoService.RESET_SYSTEM (if SZ_AUTO_WITH_RESET in modes)
180+
with patch("evohomeasync2.controlsystem.ControlSystem.set_mode") as mock_fcn:
181+
await hass.services.async_call(
182+
DOMAIN,
183+
EvoService.RESET_SYSTEM,
184+
{},
185+
blocking=True,
186+
)
187+
188+
assert mock_fcn.await_count == 1
189+
assert mock_fcn.await_args.args == ("AutoWithReset",)
190+
assert mock_fcn.await_args.kwargs == {"until": None}

0 commit comments

Comments
 (0)