SIMNet/tests/test_starrail_calculator_client.py
xtaodada b8bb24ad79
Update tests
remove get_starrail_activity
remove get_starrail_resident
2024-11-08 13:22:13 +08:00

39 lines
1.3 KiB
Python

from typing import TYPE_CHECKING, Optional
import pytest
import pytest_asyncio
from simnet.client.components.calculator.starrail import StarrailCalculatorClient
from simnet.utils.enums import Game
if TYPE_CHECKING:
from simnet.client.cookies import Cookies
from simnet.utils.enums import Region
@pytest_asyncio.fixture
async def calculator_client(
starrail_player_id: int, region: "Region", cookies: "Cookies", starrail_cookies: Optional["Cookies"]
):
if starrail_player_id is None:
pytest.skip("Test case test_starrail_calculator_client skipped: No starrail player id set.")
async with StarrailCalculatorClient(
player_id=starrail_player_id,
cookies=starrail_cookies or cookies,
region=region,
lang="zh-cn",
) as client_instance:
client_instance.game = Game.STARRAIL
yield client_instance
@pytest.mark.asyncio
class TestCalculatorClient:
@staticmethod
async def test_character_details(calculator_client: "StarrailCalculatorClient"):
characters = await calculator_client.get_calculator_characters()
character_details = await calculator_client.get_character_details(characters[-1].id)
assert len(character_details.skills) == 4
for talent in character_details.skills:
assert talent.cur_level > -1