33 lines
980 B
Python
33 lines
980 B
Python
import pytest
|
|
from sqlmodel import Session, select, func
|
|
|
|
from in_game.gameplay_models import Game, RosterLink
|
|
from in_game.gameplay_queries import get_available_subs
|
|
from tests.factory import session_fixture
|
|
|
|
def test_get_rosterlinks(session: Session):
|
|
game_1 = session.get(Game, 1)
|
|
g1_links = session.exec(select(RosterLink).where(RosterLink.game == game_1)).all()
|
|
|
|
assert len(g1_links) == 20
|
|
|
|
home_team = game_1.home_team
|
|
home_roster = session.exec(select(RosterLink).where(RosterLink.game == game_1, RosterLink.team == home_team)).all()
|
|
|
|
assert len(home_roster) == 10
|
|
|
|
|
|
def test_get_available_subs(session: Session):
|
|
this_game = session.get(Game, 3)
|
|
home_team = this_game.home_team
|
|
home_roster = session.exec(select(RosterLink).where(RosterLink.game == this_game, RosterLink.team == home_team)).all()
|
|
|
|
assert len(home_roster) == 11
|
|
|
|
cards = get_available_subs(session, this_game, this_game.home_team)
|
|
|
|
assert len(cards) == 1
|
|
|
|
|
|
|