63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
import datetime
|
|
from sqlmodel import Session
|
|
|
|
from in_game.gameplay_models import CACHE_LIMIT, Card, Player, Team, select, get_card_or_none
|
|
from in_game.gameplay_queries import get_or_create_ai_card
|
|
from factory import session_fixture
|
|
|
|
|
|
def test_create_card(session: Session):
|
|
all_cards = session.exec(select(Card)).all()
|
|
|
|
assert len(all_cards) == 41
|
|
|
|
card_1 = session.get(Card, 1)
|
|
card_2 = session.get(Card, 12)
|
|
|
|
assert card_1.player_id == 1
|
|
assert card_1.team_id == 31
|
|
assert card_2.player_id == 12
|
|
assert card_2.team_id == 400
|
|
|
|
|
|
async def test_get_or_create_ai_card(session: Session):
|
|
cached_card = session.get(Card, 1)
|
|
|
|
assert cached_card.player_id == 1
|
|
assert cached_card.team_id == 31
|
|
|
|
this_player = session.get(Player, 1)
|
|
this_team = session.get(Team, 31)
|
|
new_card_1 = await get_or_create_ai_card(session, this_player, this_team)
|
|
|
|
assert cached_card.created == new_card_1.created
|
|
|
|
new_card_2 = await get_or_create_ai_card(
|
|
session,
|
|
player=session.get(Player, 30),
|
|
team=this_team,
|
|
dev_mode=True
|
|
)
|
|
|
|
assert new_card_2.id == 42
|
|
|
|
|
|
async def test_get_card_or_none(session: Session):
|
|
card_1 = session.get(Card, 1)
|
|
new_card_1 = await get_card_or_none(session, card_id=card_1.id)
|
|
|
|
assert card_1.created == new_card_1.created
|
|
|
|
assert session.get(Player, 538) is None
|
|
assert session.get(Team, 55) is None
|
|
|
|
new_card_2 = await get_card_or_none(session, card_id=55555)
|
|
print(f'new_card_2: {new_card_2}\nplayer: {new_card_2.player}\nteam: {new_card_2.team}')
|
|
|
|
assert new_card_2 is not None
|
|
assert new_card_2.player_id == 538
|
|
assert new_card_2.team_id == 55
|
|
assert session.get(Player, 538) is not None
|
|
assert session.get(Team, 55) is not None
|
|
|