Add native Arkteos sensors
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
"""Tests de la base d'entité Arkteos."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import Mock
|
||||
|
||||
from custom_components.arkteos.entity import ArkteosEntity
|
||||
|
||||
|
||||
class FakeClient:
|
||||
def __init__(self, available: bool = False) -> None:
|
||||
self.available = available
|
||||
self.callbacks: list[object] = []
|
||||
|
||||
def add_availability_callback(self, callback) -> None:
|
||||
self.callbacks.append(callback)
|
||||
|
||||
def remove_availability_callback(self, callback) -> None:
|
||||
self.callbacks.remove(callback)
|
||||
|
||||
|
||||
def test_base_entity_availability_reflects_client() -> None:
|
||||
assert ArkteosEntity(FakeClient(True)).available
|
||||
assert not ArkteosEntity(FakeClient(False)).available
|
||||
|
||||
|
||||
def test_availability_callback_writes_state() -> None:
|
||||
entity = ArkteosEntity(FakeClient())
|
||||
entity.async_write_ha_state = Mock()
|
||||
entity._handle_availability(True)
|
||||
entity.async_write_ha_state.assert_called_once()
|
||||
|
||||
|
||||
def test_base_entity_has_no_polling_method() -> None:
|
||||
assert not hasattr(ArkteosEntity(FakeClient()), "async_update")
|
||||
Reference in New Issue
Block a user