Create new tests of Powerball table using new config

This commit is contained in:
chris committed 2026-03-02 17:10:12 -05:00
1 parent 2b950d47ec
commit 2e4ec892a0
1 file changed
+66
+66
View File
@@ -0,0 +1,66 @@
from datetime import datetime
from sqlite3 import IntegrityError
from conftest import PowerballDraw
def test_create_powerball_draw(db_session) -> None:
"""add a record"""
date = datetime(2010, 2, 3).date()
new_record = PowerballDraw(draw_date=date, main_ball1=17, main_ball2=22, main_ball3=36, main_ball4=37,
main_ball5=52, powerball=24, power_play=2)
db_session.add(new_record)
db_session.commit()
# verify the record exists
record = db_session.query(PowerballDraw).filter_by(draw_date=date).first()
assert record is not None
assert record == new_record
def test_powerball_draw_isolation(db_session) -> None:
"""query for all records in the database"""
draws = db_session.query(PowerballDraw).all()
assert len(draws) == 0
def test_powerball_draw_by_date_blank(db_session) -> None:
"""query for all powerball records with a blank date"""
blank_results = db_session.query(PowerballDraw).filter_by(draw_date='').all()
assert len(blank_results) == 0
def test_powerball_draw_integrity(db_session) -> None:
"""ensure that duplicate records cannot be inserted"""
date = datetime(2010, 2, 3).date()
new_record = PowerballDraw(draw_date=date, main_ball1=17, main_ball2=22, main_ball3=36, main_ball4=37,
main_ball5=52, powerball=24, power_play=2)
try:
# insert a new record
db_session.add(new_record)
db_session.commit()
# try inserting the same record again
db_session.add(new_record)
db_session.commit()
except IntegrityError:
assert True
def test_powerball_draw_repr_and_str(db_session) -> None:
"""test the __repr__ and __str__ methods of PowerballDraw"""
date = datetime(2010, 2, 3).date()
new_record = PowerballDraw(draw_date=date, main_ball1=17, main_ball2=22, main_ball3=36, main_ball4=37,
main_ball5=52, powerball=24, power_play=2)
# insert a new record
db_session.add(new_record)
db_session.commit()
# query the record
record = db_session.query(PowerballDraw).filter_by(draw_date=date).first()
# compare the str and repr values of each
assert str(record) == str(new_record)
assert repr(record) == repr(new_record)