Add pytests, first Game test

This commit is contained in:
Cal Corum 2024-10-11 17:29:54 -05:00
parent e3cbc92c51
commit 74cbef8d41
5 changed files with 67 additions and 3 deletions

2
.gitignore vendored
View File

@ -132,4 +132,4 @@ dmypy.json
.idea/ .idea/
# Project Specific # Project Specific
storage/* storage*

7
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"python.testing.pytestArgs": [
"."
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
}

View File

@ -105,7 +105,7 @@ def create_test_games():
session.commit() session.commit()
def select_testing(): def select_speed_testing():
with Session(engine) as session: with Session(engine) as session:
game_1 = session.exec(select(Game).where(Game.id == 1)).one() game_1 = session.exec(select(Game).where(Game.id == 1)).one()
ss_search_start = datetime.datetime.now() ss_search_start = datetime.datetime.now()
@ -127,7 +127,7 @@ def select_testing():
def main(): def main():
# create_db_and_tables() # create_db_and_tables()
# create_test_games() # create_test_games()
select_testing() select_speed_testing()
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -6,3 +6,4 @@ bs4
peewee peewee
sqlmodel sqlmodel
alembic alembic
pytest

View File

@ -0,0 +1,56 @@
import pytest
from sqlmodel import Session, SQLModel, create_engine
from sqlmodel.pool import StaticPool
from in_game.gameplay_db import Game
@pytest.fixture(name='session')
def session_fixture():
engine = create_engine(
'sqlite://', connect_args={'check_same_thread': False}, poolclass=StaticPool
)
SQLModel.metadata.create_all(engine)
with Session(engine) as session:
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=3, home_team_id=4, channel_id=5678, season=9, active=False, is_pd=False, 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')
]
def test_create_game(session: Session, new_games: list[Game]):
game_1 = new_games[0]
game_2 = new_games[1]
session.add(game_1)
session.add(game_2)
session.commit()
assert game_1.away_team_id == 1
assert game_1.home_team_id == 2
assert game_1.channel_id == 1234
assert game_1.season == 9
assert game_1.active == True
assert game_1.is_pd == True
assert game_1.ranked == False
assert game_1.week_num == None
assert game_1.game_num == None
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.game_type == None
assert game_2.active == False
assert game_2.is_pd == False
assert game_2.ranked == True
assert game_2.week_num == 6
assert game_2.game_num == 9
assert game_2.away_roster_id == 69
assert game_2.home_roster_id == 420
assert game_2.first_message == 12345678
assert game_2.ai_team == 'home'
assert game_2.game_type == 'minor-league'