SIMNet/tests/test_genshin_battle_chronicle_client.py
洛水居室 2a86d10640
Update test
- Test multiple clients
- Load testing configuration file using load_dotenv
- Add `requirements.dev.txt` file
2023-05-08 09:21:32 +08:00

44 lines
1.4 KiB
Python

from typing import TYPE_CHECKING
import pytest
import pytest_asyncio
from simnet.client.components.chronicle.genshin import GenshinBattleChronicleClient
from simnet.models.genshin.chronicle.stats import FullGenshinUserStats, Stats
from simnet.utils.enum_ import Region
if TYPE_CHECKING:
from simnet.client.cookies import Cookies
@pytest_asyncio.fixture
async def genshin_client(genshin_player_id: int, account_id: int, cookies: "Cookies"):
async with GenshinBattleChronicleClient(
player_id=genshin_player_id,
cookies=cookies,
account_id=account_id,
region=Region.CHINESE,
) as client_instance:
yield client_instance
@pytest.mark.asyncio
class TestGenshinBattleChronicleClient:
@staticmethod
async def test_get_battle_chronicle(genshin_client: GenshinBattleChronicleClient):
user = await genshin_client.get_genshin_user()
assert user.stats.days_active >= 0
@staticmethod
async def test_get_full_genshin_user(genshin_client: GenshinBattleChronicleClient):
user = await genshin_client.get_full_genshin_user()
assert isinstance(user, FullGenshinUserStats)
assert isinstance(user.stats, Stats)
@staticmethod
async def test_get_partial_genshin_user(
genshin_client: GenshinBattleChronicleClient,
):
user = await genshin_client.get_partial_genshin_user()
assert user.stats.days_active >= 0