62 lines
2.2 KiB
Python
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']}'
|
|
|
|
|