from sqlmodel import Session, select from in_game.gameplay_models import Lineup, Play, Game from factory import session_fixture def test_create_play(session: Session): all_plays = session.exec(select(Play)).all() assert len(all_plays) == 2 play_1 = session.get(Play, 1) assert play_1.game_id == 1 assert play_1.pa == 1 assert play_1.pitcher_id == 20 def test_get_current_play(session: Session): game_1 = session.get(Game, 1) curr_play = game_1.current_play_or_none(session) assert curr_play.play_num == 2 def test_scorebug_ascii(session: Session): new_play = Play( game_id=3, play_num=69, batter=session.get(Lineup, 1), batter_pos='DH', pitcher=session.get(Lineup, 20), catcher=session.get(Lineup, 11), starting_outs=1, inning_num=6 ) session.add(new_play) session.commit() assert new_play.scorebug_ascii == '```\nNCB3 0 ○ ▲ 6\n WV4 0 ○ ○ 1 Out\n```' # TODO: test get_ai_note