paper-dynasty-discord/tests/gameplay_models/test_player_model.py
Cal Corum c66075f9a8 Update Game's first_message to jump_url
Refactor test directory
2024-10-12 23:05:17 -05:00

62 lines
2.2 KiB
Python

import datetime
import pytest
from sqlmodel import Session
from in_game.gameplay_models import CACHE_LIMIT, Player, player_description, select, get_player
from factory import session_fixture, new_players_fixture
def test_create_player(session: Session, new_players: list[Player]):
player_1 = new_players[0]
player_2 = new_players[1]
session.add(player_1)
session.add(player_2)
session.commit()
assert player_1.id == new_players[0].id
assert player_1.name == new_players[0].name
assert player_1.cost == new_players[0].cost
assert player_1.bbref_id == new_players[0].bbref_id
assert player_1.image == new_players[0].image
assert player_1.bbref_id == new_players[0].bbref_id
assert player_1.description == new_players[0].description
assert player_1.fangr_id is None
assert player_2.fangr_id is None
assert player_2.pos_2 == new_players[1].pos_2
async def test_cached_players(session: Session, new_players: list[Player]):
player_1 = new_players[0]
player_2 = new_players[1]
player_3 = new_players[2]
session.add(player_1)
session.add(player_2)
session.add(player_3)
session.commit()
assert (datetime.datetime.now() - player_3.created).total_seconds() > CACHE_LIMIT
new_player_1 = await get_player(session, player_id=player_1.id)
new_player_2 = await get_player(session, player_id=player_2.id)
new_player_3 = await get_player(session, player_id=player_3.id)
new_player_4 = await get_player(session, player_id=69)
assert player_1.created == new_player_1.created
assert player_2.created == new_player_2.created
assert (datetime.datetime.now() - new_player_3.created).total_seconds() < CACHE_LIMIT
assert new_player_4 is not None
def test_player_description(session: Session, new_players: list[Player]):
player_1 = new_players[0]
session.add(player_1)
session.commit()
session.refresh(player_1)
player_dict = {'player_id': new_players[1].id, 'p_name': new_players[1].name, 'description': new_players[1].description}
assert player_description(player=player_1) == f'{new_players[0].description} {new_players[0].name}'
assert player_description(player_dict=player_dict) == f'{player_dict["description"]} {player_dict['p_name']}'