paper-dynasty-discord/tests/gameplay_models/test_card_model.py
Cal Corum 3debfd6e82 Catchup commit
Includes discord_ui refactor, testing overhaul, addition of
2025-07-22 09:22:19 -05:00

63 lines
1.9 KiB
Python

import datetime
from sqlmodel import Session
from in_game.gameplay_models import CACHE_LIMIT, Card, Player, Team, select
from in_game.gameplay_queries import get_or_create_ai_card, get_card_or_none
from tests.factory import session_fixture
def test_create_card(session: Session):
all_cards = session.exec(select(Card)).all()
assert len(all_cards) == 42 # Updated count after adding Player 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 == 71 # Updated to match next available ID after factory cards (1-70)
# 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