"""Test helpers."""
from collections.abc import Generator
from datetime import UTC, datetime, timedelta
from unittest.mock import AsyncMock, patch
import pytest
from homeassistant.components.fyta.const import CONF_EXPIRATION
from homeassistant.const import CONF_ACCESS_TOKEN
from .test_config_flow import ACCESS_TOKEN, EXPIRATION
@pytest.fixture
def mock_fyta():
"""Build a fixture for the Fyta API that connects successfully and returns one device."""
mock_fyta_api = AsyncMock()
with patch(
"homeassistant.components.fyta.config_flow.FytaConnector",
return_value=mock_fyta_api,
) as mock_fyta_api:
mock_fyta_api.return_value.login.return_value = {
CONF_ACCESS_TOKEN: ACCESS_TOKEN,
CONF_EXPIRATION: EXPIRATION,
}
yield mock_fyta_api
def mock_fyta_init():
mock_fyta_api.expiration = datetime.now(tz=UTC) + timedelta(days=1)
mock_fyta_api.login = AsyncMock(
return_value={
)
"homeassistant.components.fyta.FytaConnector.__new__",
):
def mock_setup_entry() -> Generator[AsyncMock, None, None]:
"""Override async_setup_entry."""
"homeassistant.components.fyta.async_setup_entry", return_value=True
) as mock_setup_entry:
yield mock_setup_entry