Refactor tests to common factory
This commit is contained in:
parent
b2fd6fc9c4
commit
a16ed26541
@ -4,7 +4,7 @@ from sqlmodel import Session, SQLModel, create_engine
|
||||
from sqlmodel.pool import StaticPool
|
||||
|
||||
from typing import Literal
|
||||
from in_game.gameplay_models import Game, Lineup, Team, Player
|
||||
from in_game.gameplay_models import Card, Cardset, Game, GameCardsetLink, Lineup, Team, Player
|
||||
|
||||
|
||||
@pytest.fixture(name='session')
|
||||
@ -15,7 +15,7 @@ def session_fixture():
|
||||
SQLModel.metadata.create_all(engine)
|
||||
with Session(engine) as session:
|
||||
team_1 = Team(
|
||||
id=31, abbrev='NCB', sname='CornBelters', lname='Normal CornBelters', gmid=1234, gmname='Cal', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='006900', season=7, event=False, career=1234, ranking=1337, has_guide=True, is_ai=False
|
||||
id=31, abbrev='NCB', sname='CornBelters', lname='Normal CornBelters', gmid=1234, gmname='Cal', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='006900', season=7, event=False, career=1234, ranking=1337, has_guide=True, is_ai=True
|
||||
)
|
||||
team_2 = Team(
|
||||
id=400, abbrev='WV', sname='Black Bears', lname='West Virginia Black Bears', gmid=5678, gmname='Evil Cal', gsheet='https://i.postimg.cc/HjDc8bBF/blackbears-transparent.png', wallet=350, team_value=420, collection_value=169, color='6699FF', season=7, event=False, career=2, ranking=969, has_guide=False, is_ai=False
|
||||
@ -24,7 +24,7 @@ def session_fixture():
|
||||
id=69, abbrev='NCB3', sname='CornBelters', lname='Normal CornBelters', gmid=1234, gmname='Cal', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='006900', season=7, event=False, career=1234, ranking=1337, has_guide=True, is_ai=False
|
||||
)
|
||||
team_4 = Team(
|
||||
id=420, abbrev='WV4', sname='Black Bears', lname='West Virginia Black Bears', gmid=5678, gmname='Evil Cal', gsheet='https://i.postimg.cc/HjDc8bBF/blackbears-transparent.png', wallet=350, team_value=420, collection_value=169, color='6699FF', season=7, event=False, career=2, ranking=969, has_guide=False, is_ai=False
|
||||
id=420, abbrev='WV4', sname='Black Bears', lname='West Virginia Black Bears', gmid=5678, gmname='Evil Cal', gsheet='https://i.postimg.cc/HjDc8bBF/blackbears-transparent.png', wallet=350, team_value=420, collection_value=169, color='6699FF', season=7, event=False, career=2, ranking=969, has_guide=False, is_ai=True
|
||||
)
|
||||
incomplete_team = Team(
|
||||
id=446, abbrev='CLS', sname='Macho Men', lname='Columbus Macho Men', gmid=181818, gmname='Mason Socc', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='https://i.postimg.cc/8kLZCYXh/S10CLS.png', season=7, event=False, career=0
|
||||
@ -41,84 +41,112 @@ def session_fixture():
|
||||
session.add(old_cache_team)
|
||||
session.commit()
|
||||
|
||||
game_1 = Game(away_team_id=1, home_team_id=2, channel_id=1234, season=9)
|
||||
game_2 = Game(away_team_id=4, home_team_id=3, channel_id=5678, season=9, active=False, is_pd=True, ranked=True, week_num=6, game_num=9, away_roster_id=69, home_roster_id=420, first_message=12345678, ai_team='home', game_type='minor-league')
|
||||
game_3 = Game(away_team_id=3, home_team_id=4, channel_id=5678, season=9, active=True, is_pd=True, ranked=True, week_num=6, game_num=10, away_roster_id=69, home_roster_id=420, first_message=34567890, ai_team='home', game_type='minor-league')
|
||||
game_1 = Game(away_team_id=31, home_team_id=400, channel_id=1234, season=9, ai_team='away')
|
||||
game_2 = Game(away_team_id=69, home_team_id=420, channel_id=5678, season=9, active=False, is_pd=True, ranked=True, week_num=6, game_num=9, away_roster_id=69, home_roster_id=420, first_message=12345678, ai_team='home', game_type='minor-league')
|
||||
game_3 = Game(away_team_id=69, home_team_id=420, channel_id=5678, season=9, active=True, is_pd=True, ranked=True, week_num=6, game_num=10, away_roster_id=69, home_roster_id=420, first_message=34567890, ai_team='home', game_type='minor-league')
|
||||
|
||||
session.add(game_1)
|
||||
session.add(game_2)
|
||||
session.add(game_3)
|
||||
session.commit()
|
||||
|
||||
cardset_1 = Cardset(id=1, name='1969 Live')
|
||||
cardset_2 = Cardset(id=2, name='2024 Season')
|
||||
|
||||
session.add(cardset_1)
|
||||
session.add(cardset_2)
|
||||
session.commit()
|
||||
|
||||
link_1 = GameCardsetLink(game=game_1, cardset=cardset_1, priority=1)
|
||||
link_2 = GameCardsetLink(game=game_1, cardset=cardset_2, priority=1)
|
||||
link_3 = GameCardsetLink(game=game_2, cardset=cardset_1, priority=1)
|
||||
link_4 = GameCardsetLink(game=game_2, cardset=cardset_2, priority=2)
|
||||
|
||||
session.add(link_1)
|
||||
session.add(link_2)
|
||||
session.add(link_3)
|
||||
session.add(link_4)
|
||||
session.commit()
|
||||
|
||||
all_players = []
|
||||
all_cards = []
|
||||
pos_list = ['C', '1B', '2B', '3B', 'SS', 'LF', 'CF', 'RF', 'DH', 'P']
|
||||
for x in range(40):
|
||||
if x < 10:
|
||||
mlb_team = 'Baltimore Orioles'
|
||||
team_id = 31
|
||||
elif x < 20:
|
||||
mlb_team = 'New York Yankees'
|
||||
team_id = 400
|
||||
elif x < 30:
|
||||
mlb_team = 'Boston Red Sox'
|
||||
team_id = 69
|
||||
else:
|
||||
mlb_team = 'Tampa Bay Rays'
|
||||
team_id = 420
|
||||
|
||||
all_players.append(Player(
|
||||
id=x+1,
|
||||
name=f'Player {x}',
|
||||
cost=x * 3,
|
||||
image=f'player_{x}_image_url',
|
||||
mlbclub=mlb_team,
|
||||
franchise=mlb_team,
|
||||
cardset=cardset_1 if x % 2 == 1 else cardset_2,
|
||||
set_num=x,
|
||||
rarity_id=1,
|
||||
pos_1=pos_list[(x % 10)],
|
||||
description="Live" if x % 2 == 1 else "2024"
|
||||
))
|
||||
all_cards.append(Card(
|
||||
player_id=x+1,
|
||||
team_id=team_id
|
||||
))
|
||||
|
||||
all_players.append(Player(
|
||||
id=69, name='Player 68', cost=69*3, mlbclub='Junior All-Stars', franchise='Junior All-Stars', cardset=cardset_1, set_num=69, pos_1='DH', description='Live', created=datetime.datetime.today() - datetime.timedelta(days=60), image='player_69_image_URL', rarity_id=1
|
||||
))
|
||||
all_cards.append(Card(
|
||||
player_id=41,
|
||||
team_id=420,
|
||||
created=datetime.datetime.now() - datetime.timedelta(days=60)
|
||||
))
|
||||
|
||||
for player in all_players:
|
||||
session.add(player)
|
||||
for card in all_cards:
|
||||
session.add(card)
|
||||
|
||||
session.commit()
|
||||
|
||||
# all_lineups = []
|
||||
# for team in [team_1, team_2]:
|
||||
# for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
# all_lineups.append(Lineup(team_id=team, card_id=order, player_id=68+order, position=pos, batting_order=order, game=game_1))
|
||||
# for team in [team_3, team_4]:
|
||||
# for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
# all_lineups.append(Lineup(team_id=team, card_id=order, player_id=100+order, position=pos, batting_order=order, game=game_3))
|
||||
all_lineups = []
|
||||
player_count = 1
|
||||
for team in [team_1, team_2]:
|
||||
for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
all_lineups.append(Lineup(
|
||||
position=pos,
|
||||
batting_order=order,
|
||||
game=game_1,
|
||||
team=team,
|
||||
player_id=player_count,
|
||||
card_id=player_count
|
||||
))
|
||||
player_count += 1
|
||||
for team in [team_3, team_4]:
|
||||
for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
all_lineups.append(Lineup(
|
||||
position=pos,
|
||||
batting_order=order,
|
||||
game=game_3,
|
||||
team=team,
|
||||
player_id=player_count,
|
||||
card_id=player_count
|
||||
))
|
||||
player_count += 1
|
||||
|
||||
for lineup in all_lineups:
|
||||
session.add(lineup)
|
||||
|
||||
session.commit()
|
||||
|
||||
yield session
|
||||
|
||||
|
||||
@pytest.fixture(name='new_games')
|
||||
def new_games_fixture():
|
||||
return [
|
||||
Game(away_team_id=1, home_team_id=2, channel_id=1234, season=9),
|
||||
Game(away_team_id=4, home_team_id=3, channel_id=5678, season=9, active=False, is_pd=True, ranked=True, week_num=6, game_num=9, away_roster_id=69, home_roster_id=420, first_message=12345678, ai_team='home', game_type='minor-league'),
|
||||
Game(away_team_id=3, home_team_id=4, channel_id=5678, season=9, active=True, is_pd=True, ranked=True, week_num=6, game_num=10, away_roster_id=69, home_roster_id=420, first_message=34567890, ai_team='home', game_type='minor-league')
|
||||
]
|
||||
|
||||
|
||||
@pytest.fixture(name='new_games_with_lineups')
|
||||
def new_games_with_lineups_fixture():
|
||||
all_games = [
|
||||
Game(away_team_id=1, home_team_id=2, channel_id=1234, season=9),
|
||||
Game(away_team_id=4, home_team_id=3, channel_id=5678, season=9, active=False, is_pd=True, ranked=True, week_num=6, game_num=9, away_roster_id=69, home_roster_id=420, first_message=12345678, ai_team='home', game_type='minor-league'),
|
||||
Game(away_team_id=3, home_team_id=4, channel_id=5678, season=9, active=True, is_pd=True, ranked=True, week_num=6, game_num=10, away_roster_id=69, home_roster_id=420, first_message=34567890, ai_team='home', game_type='minor-league')
|
||||
]
|
||||
game_1 = all_games[0]
|
||||
game_2 = all_games[1]
|
||||
|
||||
all_lineups = []
|
||||
for team_id in [1, 2]:
|
||||
for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
all_lineups.append(Lineup(team_id=team_id, card_id=order, player_id=68+order, position=pos, batting_order=order, game=game_1))
|
||||
|
||||
for team_id in [3, 4]:
|
||||
for (order, pos) in [(1, 'C'), (2, '1B'), (3, '2B'), (4, '3B'), (5, 'SS'), (6, 'LF'), (7, 'CF'), (8, 'RF'), (9, 'DH'), (10, 'P')]:
|
||||
all_lineups.append(Lineup(team_id=team_id, card_id=order, player_id=100+order, position=pos, batting_order=order, game=game_2))
|
||||
|
||||
return [game_1, game_2]
|
||||
|
||||
|
||||
@pytest.fixture(name='new_teams')
|
||||
def new_teams_fixture():
|
||||
team_1 = Team(
|
||||
id=31, abbrev='NCB', sname='CornBelters', lname='Normal CornBelters', gmid=1234, gmname='Cal', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='006900', season=7, event=False, career=1234, ranking=1337, has_guide=True, is_ai=False
|
||||
)
|
||||
team_2 = Team(
|
||||
id=400, abbrev='WV', sname='Black Bears', lname='West Virginia Black Bears', gmid=5678, gmname='Evil Cal', gsheet='https://i.postimg.cc/HjDc8bBF/blackbears-transparent.png', wallet=350, team_value=420, collection_value=169, color='6699FF', season=7, event=False, career=2, ranking=969, has_guide=False, is_ai=False
|
||||
)
|
||||
incomplete_team = Team(
|
||||
id=446, abbrev='CLS', sname='Macho Men', lname='Columbus Macho Men', gmid=181818, gmname='Mason Socc', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='https://i.postimg.cc/8kLZCYXh/S10CLS.png', season=7, event=False, career=0
|
||||
)
|
||||
old_cache_team = Team(
|
||||
id=3, abbrev='BAL', sname='Orioles', lname='Baltimore Orioles', gmid=181818, gmname='Brandon Hyde', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='https://i.postimg.cc/8kLZCYXh/S10CLS.png', season=7, event=False, career=0, ranking=500, has_guide=False, is_ai=False, created=datetime.datetime.today() - datetime.timedelta(days=60))
|
||||
|
||||
return [team_1, team_2, incomplete_team, old_cache_team]
|
||||
|
||||
|
||||
@pytest.fixture(name='new_players')
|
||||
def new_players_fixture():
|
||||
player_1 = Player(
|
||||
id=10139, name='Jihmih Tyranus', cost=316, image='https://pd.manticorum.com/api/v2/players/10139/battingcard?d=2024-5-07', mlbclub='Custom Ballplayers', franchise='Custom Ballplayers', set_num=420, pos_1='C', pos_2='3B', pos_3='LF', description='24 Custom', bbref_id='sandyman'
|
||||
)
|
||||
player_2 = Player(
|
||||
id=9873, name='Finn Sturm', cost=146, image='https://pd.manticorum.com/api/v2/players/9873/battingcard?d=2024-5-06', mlbclub='Custom Ballplayers', franchise='Custom Ballplayers', set_num=69, pos_1='C', pos_2='1B', description='24 Custom', bbref_id='sandyman'
|
||||
)
|
||||
old_cache_player = Player(
|
||||
id=10334, name='Ryan Ohearn', cost=91, image='https://pd.manticorum.com/api/v2/players/10334/battingcard?d=2024-8-18', mlbclub='Baltimore Orioles', franchise='Baltimore Orioles', set_num=420, pos_1='1B', pos_2='RF', pos_3='LF', description='2024', bbref_id='ohearry01', strat_code='656811', fangr_id='16442', mlbplayer_id=1200, created=datetime.datetime.today() - datetime.timedelta(days=60)
|
||||
)
|
||||
|
||||
return [player_1, player_2, old_cache_player]
|
||||
20
tests/gameplay_models/test_card_model.py
Normal file
20
tests/gameplay_models/test_card_model.py
Normal file
@ -0,0 +1,20 @@
|
||||
import datetime
|
||||
from sqlmodel import Session
|
||||
|
||||
from in_game.gameplay_models import CACHE_LIMIT, Card, Player, Team, get_or_create_ai_card, select
|
||||
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
|
||||
|
||||
50
tests/gameplay_models/test_cardset_model.py
Normal file
50
tests/gameplay_models/test_cardset_model.py
Normal file
@ -0,0 +1,50 @@
|
||||
import pytest
|
||||
from sqlalchemy import delete
|
||||
from sqlmodel import Session
|
||||
|
||||
from in_game.gameplay_models import select, Cardset, GameCardsetLink
|
||||
from in_game.gameplay_queries import get_channel_game_or_none, get_active_games_by_team
|
||||
from factory import session_fixture
|
||||
|
||||
|
||||
def test_create_cardset(session: Session):
|
||||
cardset_1 = session.get(Cardset, 1)
|
||||
cardset_2 = session.get(Cardset, 2)
|
||||
|
||||
assert cardset_1.name == '1969 Live'
|
||||
assert cardset_2.name == '2024 Season'
|
||||
|
||||
|
||||
def test_delete_cardset(session: Session):
|
||||
cardset_1 = session.get(Cardset, 1)
|
||||
session.delete(cardset_1)
|
||||
|
||||
bad_links = session.exec(select(GameCardsetLink).where(GameCardsetLink.cardset_id == 1)).all()
|
||||
assert len(bad_links) == 0
|
||||
|
||||
|
||||
def test_create_cardsetgamelink(session: Session):
|
||||
pri_1 = session.exec(select(GameCardsetLink).where(GameCardsetLink.priority == 1)).all()
|
||||
assert len(pri_1) == 3
|
||||
|
||||
pri_2 = session.exec(select(GameCardsetLink).where(GameCardsetLink.priority == 2)).all()
|
||||
assert len(pri_2) == 1
|
||||
|
||||
g_1 = session.exec(select(GameCardsetLink).where(GameCardsetLink.game_id == 1)).all()
|
||||
assert len(g_1) == 2
|
||||
|
||||
g_2 = session.exec(select(GameCardsetLink).where(GameCardsetLink.game_id == 2)).all()
|
||||
assert len(g_2) == 2
|
||||
|
||||
|
||||
def test_update_cardsetgamelink(session: Session):
|
||||
pri_1 = session.exec(select(GameCardsetLink).where(GameCardsetLink.priority == 1)).all()
|
||||
assert len(pri_1) == 3
|
||||
|
||||
link_2 = session.get(GameCardsetLink, (1, 1))
|
||||
link_2.priority = 2
|
||||
session.add(link_2)
|
||||
session.commit()
|
||||
|
||||
pri_1 = session.exec(select(GameCardsetLink).where(GameCardsetLink.priority == 1)).all()
|
||||
assert len(pri_1) == 2
|
||||
@ -1,18 +1,18 @@
|
||||
import pytest
|
||||
from sqlalchemy import delete
|
||||
from sqlmodel import Session
|
||||
from sqlalchemy import delete as sadelete
|
||||
from sqlmodel import Session, delete
|
||||
|
||||
from in_game.gameplay_models import Game, select
|
||||
from in_game.gameplay_queries import get_games_by_channel, get_channel_game_or_none, get_active_games_by_team
|
||||
from factory import session_fixture, new_games_fixture
|
||||
from in_game.gameplay_models import Game, Lineup, GameCardsetLink, select
|
||||
from in_game.gameplay_queries import get_channel_game_or_none, get_active_games_by_team
|
||||
from factory import session_fixture
|
||||
|
||||
|
||||
def test_create_game(session: Session, new_games: list[Game]):
|
||||
def test_create_game(session: Session):
|
||||
game_1 = session.get(Game, 1)
|
||||
game_2 = session.get(Game, 2)
|
||||
|
||||
assert game_1.away_team_id == 1
|
||||
assert game_1.home_team_id == 2
|
||||
assert game_1.away_team_id == 31
|
||||
assert game_1.home_team_id == 400
|
||||
assert game_1.channel_id == 1234
|
||||
assert game_1.season == 9
|
||||
assert game_1.active == True
|
||||
@ -23,7 +23,7 @@ def test_create_game(session: Session, new_games: list[Game]):
|
||||
assert game_1.away_roster_id == None
|
||||
assert game_1.home_roster_id == None
|
||||
assert game_1.first_message == None
|
||||
assert game_1.ai_team == None
|
||||
assert game_1.ai_team == 'away'
|
||||
assert game_1.game_type == None
|
||||
assert game_2.active == False
|
||||
assert game_2.is_pd == True
|
||||
@ -41,14 +41,14 @@ def test_select_all(session: Session):
|
||||
games = session.exec(select(Game)).all()
|
||||
assert len(games) == 3
|
||||
|
||||
session.execute(delete(Game))
|
||||
session.execute(sadelete(Game))
|
||||
session.commit()
|
||||
|
||||
games = session.exec(select(Game)).all()
|
||||
assert len(games) == 0
|
||||
|
||||
|
||||
def test_games_by_channel(session: Session, new_games: list[Game]):
|
||||
def test_games_by_channel(session: Session):
|
||||
assert get_channel_game_or_none(session, 1234) is not None
|
||||
assert get_channel_game_or_none(session, 5678) is not None
|
||||
assert get_channel_game_or_none(session, 69) is None
|
||||
@ -73,15 +73,15 @@ def test_games_by_channel(session: Session, new_games: list[Game]):
|
||||
assert get_channel_game_or_none(session, 5678) is None
|
||||
|
||||
|
||||
def test_games_by_team(session: Session, new_games: list[Game]):
|
||||
assert len(get_active_games_by_team(session, team_id=3)) == 1
|
||||
def test_games_by_team(session: Session):
|
||||
assert len(get_active_games_by_team(session, team_id=69)) == 1
|
||||
|
||||
game_2 = session.get(Game, 2)
|
||||
game_2.active = True
|
||||
session.add(game_2)
|
||||
session.commit()
|
||||
|
||||
assert len(get_active_games_by_team(session, team_id=3)) == 2
|
||||
assert len(get_active_games_by_team(session, team_id=69)) == 2
|
||||
|
||||
game_3 = session.get(Game, 3)
|
||||
game_3.active = False
|
||||
@ -90,4 +90,17 @@ def test_games_by_team(session: Session, new_games: list[Game]):
|
||||
session.add(game_2)
|
||||
session.commit()
|
||||
|
||||
assert len(get_active_games_by_team(session, team_id=3)) == 0
|
||||
assert len(get_active_games_by_team(session, team_id=69)) == 0
|
||||
|
||||
|
||||
def test_delete_game(session: Session):
|
||||
game_1 = session.get(Game, 1)
|
||||
# session.execute(sadelete(GameCardsetLink).where(GameCardsetLink.game == game_1))
|
||||
# session.delete(game_1)
|
||||
session.delete(game_1)
|
||||
|
||||
bad_lineups = session.exec(select(Lineup).where(Lineup.game_id == 1)).all()
|
||||
bad_links = session.exec(select(GameCardsetLink).where(GameCardsetLink.game_id == 1)).all()
|
||||
|
||||
assert len(bad_lineups) == 0
|
||||
assert len(bad_links) == 0
|
||||
|
||||
@ -1,24 +1,15 @@
|
||||
from sqlmodel import Session, select
|
||||
|
||||
from in_game.gameplay_models import Game, Lineup
|
||||
from factory import session_fixture, new_games_with_lineups_fixture, new_games_fixture
|
||||
from in_game.gameplay_models import Lineup
|
||||
from factory import session_fixture
|
||||
|
||||
|
||||
def test_create_lineup(session: Session, new_games_with_lineups: list[Game]):
|
||||
"""
|
||||
This test fails when run with the entire suite
|
||||
"""
|
||||
game_1 = new_games_with_lineups[0]
|
||||
game_2 = new_games_with_lineups[1]
|
||||
def test_create_lineup(session: Session):
|
||||
all_lineups = session.exec(select(Lineup)).all()
|
||||
|
||||
assert len(all_lineups) == 40
|
||||
|
||||
assert len(game_1.lineups) == 20
|
||||
assert len(game_2.lineups) == 20
|
||||
|
||||
session.add(game_1)
|
||||
session.add(game_2)
|
||||
session.commit()
|
||||
|
||||
query_ss = session.exec(select(Lineup).where(Lineup.game == game_1, Lineup.position == 'SS', Lineup.active == True)).all()
|
||||
query_ss = session.exec(select(Lineup).where(Lineup.game_id == 1, Lineup.position == 'SS', Lineup.active == True)).all()
|
||||
lineup_id_7 = session.get(Lineup, 7)
|
||||
lineup_id_21 = session.get(Lineup, 21)
|
||||
|
||||
|
||||
@ -1,61 +1,50 @@
|
||||
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
|
||||
from factory import session_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()
|
||||
def test_create_player(session: Session):
|
||||
all_players = session.exec(select(Player)).all()
|
||||
|
||||
assert len(all_players) == 41
|
||||
|
||||
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
|
||||
player_1 = session.get(Player, 1)
|
||||
player_2 = session.get(Player, 12)
|
||||
|
||||
assert player_1.name == 'Player 0'
|
||||
assert player_1.cardset_id == 2
|
||||
assert player_1.pos_1 == 'C'
|
||||
assert player_1.description == '2024'
|
||||
assert player_1.franchise == 'Baltimore Orioles'
|
||||
assert player_2.cardset_id == 1
|
||||
assert player_2.description == 'Live'
|
||||
assert player_2.mlbclub == 'New York Yankees'
|
||||
|
||||
|
||||
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()
|
||||
async def test_cached_players(session: Session):
|
||||
player_1 = session.get(Player, 1)
|
||||
player_2 = session.get(Player, 69)
|
||||
|
||||
assert (datetime.datetime.now() - player_3.created).total_seconds() > CACHE_LIMIT
|
||||
assert (datetime.datetime.now() - player_2.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)
|
||||
new_player_2 = await get_player(session, player_id=69)
|
||||
new_player_3 = await get_player(session, player_id=6969)
|
||||
|
||||
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
|
||||
assert (datetime.datetime.now() - new_player_2.created).total_seconds() < CACHE_LIMIT
|
||||
assert new_player_3 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)
|
||||
def test_player_description(session: Session):
|
||||
player_1 = session.get(Player, 1)
|
||||
player_2 = session.get(Player, 2)
|
||||
|
||||
player_dict = {'player_id': new_players[1].id, 'p_name': new_players[1].name, 'description': new_players[1].description}
|
||||
player_dict = {'player_id': player_2.id, 'p_name': player_2.name, 'description': player_2.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']}'
|
||||
assert player_description(player=player_1) == f'2024 Player 0'
|
||||
assert player_description(player_dict=player_dict) == f'Live Player 1'
|
||||
|
||||
|
||||
|
||||
@ -5,21 +5,23 @@ from in_game.gameplay_models import Team, get_team, CACHE_LIMIT
|
||||
from factory import session_fixture, new_teams_fixture, pytest
|
||||
|
||||
def test_create_team(session: Session, new_teams: list[Team]):
|
||||
team_1 = new_teams[0]
|
||||
team_2 = new_teams[1]
|
||||
|
||||
session.add(team_1)
|
||||
session.add(team_2)
|
||||
session.commit()
|
||||
|
||||
assert team_1.abbrev == 'NCB'
|
||||
assert team_1.id == 31
|
||||
assert team_2.abbrev == 'WV'
|
||||
assert team_2.id == 400
|
||||
team_31 = session.get(Team, 31)
|
||||
team_400 = session.get(Team, 400)
|
||||
team_69 = session.get(Team, 69)
|
||||
team_420 = session.get(Team, 420)
|
||||
team_3 = session.get(Team, 3)
|
||||
|
||||
assert team_31.abbrev == 'NCB'
|
||||
assert team_400.abbrev == 'WV'
|
||||
assert team_69.abbrev == 'NCB3'
|
||||
assert team_420.abbrev == 'WV4'
|
||||
assert team_3.abbrev == 'BAL'
|
||||
|
||||
|
||||
def test_create_incomplete_team(session: Session, new_teams: list[Team]):
|
||||
team_1 = new_teams[2]
|
||||
team_1 = Team(
|
||||
id=446, abbrev='CLS', sname='Macho Men', lname='Columbus Macho Men', gmid=181818, gmname='Mason Socc', gsheet='asdf1234', wallet=6969, team_value=69420, collection_value=169420, color='https://i.postimg.cc/8kLZCYXh/S10CLS.png', season=7, event=False, career=0
|
||||
)
|
||||
|
||||
session.add(team_1)
|
||||
|
||||
@ -30,24 +32,16 @@ def test_create_incomplete_team(session: Session, new_teams: list[Team]):
|
||||
|
||||
|
||||
async def test_team_cache(session: Session, new_teams: list[Team]):
|
||||
team_1 = new_teams[0]
|
||||
team_2 = new_teams[1]
|
||||
team_3 = new_teams[3]
|
||||
|
||||
session.add(team_1)
|
||||
session.add(team_2)
|
||||
session.add(team_3)
|
||||
session.commit()
|
||||
team_31 = session.get(Team, 31)
|
||||
team_3 = session.get(Team, 3)
|
||||
|
||||
assert (datetime.datetime.now() - team_3.created).total_seconds() > CACHE_LIMIT
|
||||
|
||||
new_team_1 = await get_team(session, team_id=team_1.id)
|
||||
new_team_2 = await get_team(session, team_id=team_2.id)
|
||||
new_team_31 = await get_team(session, team_id=team_31.id)
|
||||
new_team_3 = await get_team(session, team_id=team_3.id)
|
||||
new_team_4 = await get_team(session, team_abbrev='NYY')
|
||||
|
||||
assert team_1.created == new_team_1.created
|
||||
assert team_2.created == new_team_2.created
|
||||
assert team_31.created == new_team_31.created
|
||||
assert (datetime.datetime.now() - new_team_3.created).total_seconds() < CACHE_LIMIT
|
||||
assert new_team_4.created is not None
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user