import datetime from sqlmodel import Session, select from sqlite3 import IntegrityError from in_game.gameplay_db import Team, get_team 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 def test_create_incomplete_team(session: Session, new_teams: list[Team]): team_1 = new_teams[2] session.add(team_1) with pytest.raises(Exception) as exc_info: session.commit() assert str(exc_info) == "" 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() 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_3 = await get_team(session, team_id=team_3.id) assert team_1.created == new_team_1.created assert team_2.created == new_team_2.created assert (datetime.datetime.now() - team_3.created).total_seconds() > 1209600 assert (datetime.datetime.now() - new_team_3.created).total_seconds() < 1209600