mirror of
https://github.com/PaiGramTeam/SIMNet.git
synced 2024-11-23 06:49:37 +00:00
105 lines
4.4 KiB
Python
105 lines
4.4 KiB
Python
from typing import TYPE_CHECKING, Optional
|
|
|
|
import pytest
|
|
import pytest_asyncio
|
|
|
|
from simnet.client.components.chronicle.starrail import StarRailBattleChronicleClient
|
|
from simnet.errors import NeedChallenge
|
|
|
|
if TYPE_CHECKING:
|
|
from simnet.client.cookies import Cookies
|
|
from simnet.utils.enums import Region
|
|
|
|
|
|
@pytest_asyncio.fixture
|
|
async def starrail_client(
|
|
starrail_player_id: int, region: "Region", cookies: "Cookies", starrail_cookies: Optional["Cookies"]
|
|
):
|
|
if starrail_player_id is None:
|
|
pytest.skip("Test case test_genshin_calculator_client skipped: No starrail player id set.")
|
|
async with StarRailBattleChronicleClient(
|
|
player_id=starrail_player_id,
|
|
cookies=starrail_cookies or cookies,
|
|
region=region,
|
|
) as client_instance:
|
|
yield client_instance
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
class TestStarrailBattleChronicleClient:
|
|
@staticmethod
|
|
@pytest.mark.xfail(raises=NeedChallenge, reason="Challenge is needed, but not implemented yet.")
|
|
async def test_get_starrail_notes(starrail_client: "StarRailBattleChronicleClient"):
|
|
notes = await starrail_client.get_starrail_notes()
|
|
assert notes is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_user(starrail_client: "StarRailBattleChronicleClient"):
|
|
user = await starrail_client.get_starrail_user()
|
|
assert user is not None
|
|
assert user.stats.chest_num > 0
|
|
assert len(user.characters) > 0
|
|
character = user.characters[-1]
|
|
assert character.id > 0
|
|
|
|
@staticmethod
|
|
@pytest.mark.xfail(raises=NeedChallenge, reason="Challenge is needed, but not implemented yet.")
|
|
async def test_get_starrail_characters(starrail_client: "StarRailBattleChronicleClient"):
|
|
characters = await starrail_client.get_starrail_characters()
|
|
assert len(characters.avatar_list) > 0
|
|
character = characters.avatar_list[-1]
|
|
assert character.id > 0
|
|
|
|
@staticmethod
|
|
@pytest.mark.xfail(raises=NeedChallenge, reason="Challenge is needed, but not implemented yet.")
|
|
async def test_get_starrail_challenge(starrail_client: "StarRailBattleChronicleClient"):
|
|
challenge = await starrail_client.get_starrail_challenge()
|
|
assert challenge.season > 0
|
|
|
|
@staticmethod
|
|
@pytest.mark.xfail(raises=NeedChallenge, reason="Challenge is needed, but not implemented yet.")
|
|
async def test_get_starrail_challenge_story(starrail_client: "StarRailBattleChronicleClient"):
|
|
challenge = await starrail_client.get_starrail_challenge_story()
|
|
assert len(challenge.groups) > 0
|
|
|
|
@staticmethod
|
|
@pytest.mark.xfail(raises=NeedChallenge, reason="Challenge is needed, but not implemented yet.")
|
|
async def test_get_starrail_challenge_boss(starrail_client: "StarRailBattleChronicleClient"):
|
|
challenge = await starrail_client.get_starrail_challenge_boss()
|
|
assert len(challenge.groups) > 0
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_rogue(starrail_client: "StarRailBattleChronicleClient"):
|
|
rogue = await starrail_client.get_starrail_rogue()
|
|
assert rogue.role is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_rogue_locust(starrail_client: "StarRailBattleChronicleClient"):
|
|
rogue_locust = await starrail_client.get_starrail_rogue_locust()
|
|
assert rogue_locust.basic is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_rogue_nous(starrail_client: "StarRailBattleChronicleClient"):
|
|
rogue_nous = await starrail_client.get_starrail_rogue_nous()
|
|
assert rogue_nous.basic is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_rogue_tourn(starrail_client: "StarRailBattleChronicleClient"):
|
|
rogue_tourn = await starrail_client.get_starrail_rogue_tourn()
|
|
assert rogue_tourn.basic is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_act_calendar(starrail_client: "StarRailBattleChronicleClient"):
|
|
act_calendar = await starrail_client.get_starrail_act_calendar()
|
|
assert act_calendar is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_ledger_month_info(starrail_client: "StarRailBattleChronicleClient"):
|
|
ledger_month_info = await starrail_client.get_starrail_ledger_month_info()
|
|
assert ledger_month_info is not None
|
|
|
|
@staticmethod
|
|
async def test_get_starrail_achievement_info(starrail_client: "StarRailBattleChronicleClient"):
|
|
achievement_info = await starrail_client.get_starrail_achievement_info()
|
|
assert achievement_info is not None
|