mirror of
https://github.com/PaiGramTeam/SIMNet.git
synced 2024-11-30 01:14:05 +00:00
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
|
from typing import TYPE_CHECKING
|
||
|
|
||
|
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, account_id: int, region: "Region", cookies: "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=cookies,
|
||
|
account_id=account_id,
|
||
|
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
|