05/23 Phase 12

This commit is contained in:
2026-05-23 12:37:01 -04:00
parent 78e88ae8ab
commit ae0c64f731
7 changed files with 172 additions and 1 deletions
+66
View File
@@ -122,6 +122,72 @@ def test_combined_filters(tmp_db):
assert rows[0]["draw_date"] == "2024-03-01"
# ── number filter ─────────────────────────────────────────────────────────────
def test_number_filter_returns_matching_draws(tmp_db):
pb = get_game_by_name("Powerball")
insert_draw(pb["id"], "2024-01-01", [1, 13, 36, 61, 69], bonus=7)
insert_draw(pb["id"], "2024-01-03", [2, 14, 37, 55, 68], bonus=10)
rows = get_draws_with_game(number=13)
assert len(rows) == 1
assert rows[0]["draw_date"] == "2024-01-01"
def test_number_filter_no_match_returns_empty(tmp_db):
pb = get_game_by_name("Powerball")
insert_draw(pb["id"], "2024-01-01", [1, 2, 3, 4, 5], bonus=7)
rows = get_draws_with_game(number=99)
assert rows == []
def test_number_filter_does_not_false_match_substring(tmp_db):
pb = get_game_by_name("Powerball")
# numbers 1 and 13 — searching for 1 must NOT return the draw containing 13
insert_draw(pb["id"], "2024-01-01", [13, 23, 33, 43, 53], bonus=7)
rows = get_draws_with_game(number=1)
assert rows == []
def test_number_filter_matches_first_position(tmp_db):
pb = get_game_by_name("Powerball")
insert_draw(pb["id"], "2024-01-01", [1, 2, 3, 4, 5], bonus=7)
rows = get_draws_with_game(number=1)
assert len(rows) == 1
def test_number_filter_matches_last_position(tmp_db):
pb = get_game_by_name("Powerball")
insert_draw(pb["id"], "2024-01-01", [1, 2, 3, 4, 69], bonus=7)
rows = get_draws_with_game(number=69)
assert len(rows) == 1
def test_number_filter_combined_with_game(tmp_db):
pb = get_game_by_name("Powerball")
mm = get_game_by_name("Mega Millions")
insert_draw(pb["id"], "2024-01-01", [1, 13, 36, 61, 69], bonus=7)
insert_draw(mm["id"], "2024-01-02", [1, 14, 37, 55, 68], bonus=4)
rows = get_draws_with_game(game_id=pb["id"], number=1)
assert len(rows) == 1
assert rows[0]["game_name"] == "Powerball"
def test_number_filter_none_returns_all(tmp_db):
pb = get_game_by_name("Powerball")
insert_draw(pb["id"], "2024-01-01", [1, 2, 3, 4, 5], bonus=7)
insert_draw(pb["id"], "2024-01-03", [6, 7, 8, 9, 10], bonus=2)
rows = get_draws_with_game(number=None)
assert len(rows) == 2
# ── UI smoke test (skipped on headless) ───────────────────────────────────────
def _has_display():