mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Add missing method mock to Reolink chime test (#147447)
This commit is contained in:
parent
3148719864
commit
e8a534be9c
@ -274,6 +274,7 @@ def reolink_chime(reolink_host: MagicMock) -> None:
|
|||||||
"people": {"switch": 0, "musicId": 1},
|
"people": {"switch": 0, "musicId": 1},
|
||||||
"visitor": {"switch": 1, "musicId": 2},
|
"visitor": {"switch": 1, "musicId": 2},
|
||||||
}
|
}
|
||||||
|
TEST_CHIME.remove = AsyncMock()
|
||||||
|
|
||||||
reolink_host.chime_list = [TEST_CHIME]
|
reolink_host.chime_list = [TEST_CHIME]
|
||||||
reolink_host.chime.return_value = TEST_CHIME
|
reolink_host.chime.return_value = TEST_CHIME
|
||||||
|
@ -7,7 +7,6 @@ from unittest.mock import AsyncMock, MagicMock, Mock, patch
|
|||||||
|
|
||||||
from freezegun.api import FrozenDateTimeFactory
|
from freezegun.api import FrozenDateTimeFactory
|
||||||
import pytest
|
import pytest
|
||||||
from reolink_aio.api import Chime
|
|
||||||
from reolink_aio.exceptions import (
|
from reolink_aio.exceptions import (
|
||||||
CredentialsInvalidError,
|
CredentialsInvalidError,
|
||||||
LoginPrivacyModeError,
|
LoginPrivacyModeError,
|
||||||
@ -270,22 +269,25 @@ async def test_removing_disconnected_cams(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("attr", "value", "expected_models"),
|
("attr", "value", "expected_models", "expected_remove_call_count"),
|
||||||
[
|
[
|
||||||
(
|
(
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
[TEST_HOST_MODEL, TEST_CAM_MODEL, CHIME_MODEL],
|
[TEST_HOST_MODEL, TEST_CAM_MODEL, CHIME_MODEL],
|
||||||
|
1,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"connect_state",
|
"connect_state",
|
||||||
-1,
|
-1,
|
||||||
[TEST_HOST_MODEL, TEST_CAM_MODEL],
|
[TEST_HOST_MODEL, TEST_CAM_MODEL],
|
||||||
|
0,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"remove",
|
"remove",
|
||||||
-1,
|
-1,
|
||||||
[TEST_HOST_MODEL, TEST_CAM_MODEL],
|
[TEST_HOST_MODEL, TEST_CAM_MODEL],
|
||||||
|
1,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@ -294,12 +296,13 @@ async def test_removing_chime(
|
|||||||
hass_ws_client: WebSocketGenerator,
|
hass_ws_client: WebSocketGenerator,
|
||||||
config_entry: MockConfigEntry,
|
config_entry: MockConfigEntry,
|
||||||
reolink_host: MagicMock,
|
reolink_host: MagicMock,
|
||||||
reolink_chime: Chime,
|
reolink_chime: MagicMock,
|
||||||
device_registry: dr.DeviceRegistry,
|
device_registry: dr.DeviceRegistry,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
attr: str | None,
|
attr: str | None,
|
||||||
value: Any,
|
value: Any,
|
||||||
expected_models: list[str],
|
expected_models: list[str],
|
||||||
|
expected_remove_call_count: int,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test removing a chime."""
|
"""Test removing a chime."""
|
||||||
reolink_host.channels = [0]
|
reolink_host.channels = [0]
|
||||||
@ -324,7 +327,7 @@ async def test_removing_chime(
|
|||||||
"""Remove chime."""
|
"""Remove chime."""
|
||||||
reolink_chime.connect_state = -1
|
reolink_chime.connect_state = -1
|
||||||
|
|
||||||
reolink_chime.remove = test_remove_chime
|
reolink_chime.remove = AsyncMock(side_effect=test_remove_chime)
|
||||||
elif attr is not None:
|
elif attr is not None:
|
||||||
setattr(reolink_chime, attr, value)
|
setattr(reolink_chime, attr, value)
|
||||||
|
|
||||||
@ -334,6 +337,7 @@ async def test_removing_chime(
|
|||||||
if device.model == CHIME_MODEL:
|
if device.model == CHIME_MODEL:
|
||||||
response = await client.remove_device(device.id, config_entry.entry_id)
|
response = await client.remove_device(device.id, config_entry.entry_id)
|
||||||
assert response["success"] == expected_success
|
assert response["success"] == expected_success
|
||||||
|
assert reolink_chime.remove.call_count == expected_remove_call_count
|
||||||
|
|
||||||
device_entries = dr.async_entries_for_config_entry(
|
device_entries = dr.async_entries_for_config_entry(
|
||||||
device_registry, config_entry.entry_id
|
device_registry, config_entry.entry_id
|
||||||
|
Loading…
x
Reference in New Issue
Block a user