Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions tests/admin_panel/test_fixture_panel_jump_to_week.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ async def test_unified_panel_jump_to_week_reaches_older_open_fixture(
deadline = datetime.now(UTC) + timedelta(days=1)
first_fixture_id = None
for week in range(1, 28):
fixture_id = await admin_cog.db.create_fixture("111111", week, sample_games, deadline)
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", week, sample_games, deadline
)
if week == 1:
first_fixture_id = fixture_id
assert first_fixture_id is not None
await admin_cog.db.save_results(first_fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.results.save_results(first_fixture_id, ["1-0", "1-1", "0-0"])

view = UnifiedAdminPanelView(
admin_cog.db,
Expand Down Expand Up @@ -83,8 +85,8 @@ async def test_unified_panel_jump_to_week_rejects_duplicate_open_weeks(
sample_games,
):
deadline = datetime.now(UTC) + timedelta(days=1)
await admin_cog.db.create_fixture("111111", 5, sample_games, deadline)
await admin_cog.db.create_fixture("111111", 5, sample_games, deadline)
await admin_cog.db.fixtures.create_fixture("111111", 5, sample_games, deadline)
await admin_cog.db.fixtures.create_fixture("111111", 5, sample_games, deadline)

view = UnifiedAdminPanelView(
admin_cog.db,
Expand Down
22 changes: 11 additions & 11 deletions tests/admin_panel/test_fixture_panel_pending_partials.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ async def test_unified_panel_shows_review_pending_button_when_pending_partials_e
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 55, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_prediction(
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand Down Expand Up @@ -68,10 +68,10 @@ async def test_unified_panel_hides_other_guild_pending_partials(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"guild-2", 55, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_prediction(
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand Down Expand Up @@ -100,11 +100,11 @@ async def test_unified_panel_review_pending_button_jumps_to_pending_submission(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 56, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.save_prediction(
await admin_cog.db.results.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand Down Expand Up @@ -141,13 +141,13 @@ async def test_unified_panel_review_pending_button_cycles_pending_submissions(
mock_interaction_admin,
sample_games,
):
fixture_a = await admin_cog.db.create_fixture(
fixture_a = await admin_cog.db.fixtures.create_fixture(
"111111", 57, sample_games, datetime.now(UTC) + timedelta(days=1)
)
fixture_b = await admin_cog.db.create_fixture(
fixture_b = await admin_cog.db.fixtures.create_fixture(
"111111", 58, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_prediction(
await admin_cog.db.predictions.save_prediction(
fixture_a,
"111",
"User One",
Expand All @@ -156,7 +156,7 @@ async def test_unified_panel_review_pending_button_cycles_pending_submissions(
predicted_game_indexes=[1, 2],
pending_partial_approval=True,
)
await admin_cog.db.save_prediction(
await admin_cog.db.predictions.save_prediction(
fixture_b,
"222",
"User Two",
Expand Down
50 changes: 25 additions & 25 deletions tests/admin_panel/test_fixture_panel_results_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ async def test_unified_panel_enter_results_button_opens_modal(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 44, sample_games, datetime.now(UTC) + timedelta(days=1)
)
view = UnifiedAdminPanelView(
Expand All @@ -50,10 +50,10 @@ async def test_unified_panel_hides_enter_results_button_after_results_are_saved(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 46, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.results.save_results(fixture_id, ["1-0", "1-1", "0-0"])
view = UnifiedAdminPanelView(
admin_cog.db,
admin_cog.service,
Expand All @@ -77,11 +77,11 @@ async def test_unified_panel_calculate_scores_button_posts_results(
sample_games,
monkeypatch,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 45, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.save_prediction(
await admin_cog.db.results.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand Down Expand Up @@ -131,11 +131,11 @@ async def test_stale_calculate_scores_button_refreshes_when_fixture_already_scor
sample_games,
monkeypatch,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 45, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.save_prediction(
await admin_cog.db.results.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand All @@ -158,7 +158,7 @@ async def test_stale_calculate_scores_button_refreshes_when_fixture_already_scor
view.fixture_select._values = [str(fixture_id)]
await view.fixture_select.callback(mock_interaction_admin)
stale_button = _get_button(view, "Calculate Scores")
await admin_cog.db.recalculate_fixture_scores(fixture_id)
await admin_cog.db.scores.recalculate_fixture_scores(fixture_id)

await stale_button.callback(mock_interaction_admin)

Expand All @@ -177,10 +177,10 @@ async def test_unified_panel_calculate_scores_button_rejects_active_cooldown(
sample_games,
monkeypatch,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 47, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.results.save_results(fixture_id, ["1-0", "1-1", "0-0"])
admin_cog.record_calculate_cooldown(
"111111", str(mock_interaction_admin.user.id), current_time=now().timestamp()
)
Expand Down Expand Up @@ -214,10 +214,10 @@ async def test_unified_panel_calculate_scores_button_handles_service_error(
sample_games,
monkeypatch,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 48, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.results.save_results(fixture_id, ["1-0", "1-1", "0-0"])
post_calculation_result = AsyncMock()
monkeypatch.setattr(unified_actions, "post_calculation_result", post_calculation_result)
view = UnifiedAdminPanelView(
Expand Down Expand Up @@ -249,10 +249,10 @@ async def test_unified_panel_calculate_scores_button_requires_bot_context(
sample_games,
monkeypatch,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 49, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["1-0", "1-1", "0-0"])
await admin_cog.db.results.save_results(fixture_id, ["1-0", "1-1", "0-0"])
admin_cog.service.calculate_fixture_scores = AsyncMock()
post_calculation_result = AsyncMock()
monkeypatch.setattr(unified_actions, "post_calculation_result", post_calculation_result)
Expand Down Expand Up @@ -290,7 +290,7 @@ async def test_unified_panel_post_results_button_opens_confirmation(
mock_interaction_admin.channel = command_channel
admin_cog.bot.get_channel.return_value = None
admin_cog.bot.fetch_channel = AsyncMock(return_value=league_channel)
admin_cog.db.get_last_fixture_scores = AsyncMock(
admin_cog.db.scores.get_last_fixture_scores = AsyncMock(
return_value={
"week_number": 1,
"games": ["A - B"],
Expand All @@ -306,7 +306,7 @@ async def test_unified_panel_post_results_button_opens_confirmation(
],
}
)
admin_cog.db.get_standings = AsyncMock(
admin_cog.db.scores.get_standings = AsyncMock(
return_value=[
{
"user_id": "123",
Expand Down Expand Up @@ -347,13 +347,13 @@ async def test_unified_panel_post_results_only_previews_current_guild_scores(
mock_interaction_admin.channel = channel
admin_cog.bot.get_channel.return_value = channel
deadline = datetime.now(UTC) - timedelta(days=1)
current_fixture_id = await admin_cog.db.create_fixture(
current_fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 1, ["Team A - Team B"], deadline
)
other_fixture_id = await admin_cog.db.create_fixture(
other_fixture_id = await admin_cog.db.fixtures.create_fixture(
"guild-2", 2, ["Team C - Team D"], deadline
)
await admin_cog.db.save_scores(
await admin_cog.db.scores.save_scores(
current_fixture_id,
[
{
Expand All @@ -365,7 +365,7 @@ async def test_unified_panel_post_results_only_previews_current_guild_scores(
}
],
)
await admin_cog.db.save_scores(
await admin_cog.db.scores.save_scores(
other_fixture_id,
[
{
Expand Down Expand Up @@ -399,8 +399,8 @@ async def test_unified_panel_post_results_button_rejects_unavailable_league_chan
admin_cog,
mock_interaction_admin,
):
admin_cog.db.get_last_fixture_scores = AsyncMock(return_value={"scores": []})
admin_cog.db.get_standings = AsyncMock(return_value=[])
admin_cog.db.scores.get_last_fixture_scores = AsyncMock(return_value={"scores": []})
admin_cog.db.scores.get_standings = AsyncMock(return_value=[])
admin_cog.bot.get_channel.return_value = None
admin_cog.bot.fetch_channel = AsyncMock(
side_effect=discord.InvalidData("unknown channel type")
Expand Down Expand Up @@ -431,7 +431,7 @@ async def test_unified_panel_post_results_button_rejects_missing_scores(
channel = MagicMock(spec=discord.TextChannel)
channel.id = mock_interaction_admin.channel.id
mock_interaction_admin.channel = channel
admin_cog.db.get_last_fixture_scores = AsyncMock(return_value=None)
admin_cog.db.scores.get_last_fixture_scores = AsyncMock(return_value=None)

view = UnifiedAdminPanelView(
admin_cog.db,
Expand Down
32 changes: 16 additions & 16 deletions tests/admin_panel/test_fixture_panel_scoring_rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ async def test_scoring_rules_modal_updates_active_season_rules(

await modal.on_submit(mock_interaction_admin)

assert await admin_cog.db.get_active_scoring_rules("111111") == {
assert await admin_cog.db.seasons.get_active_scoring_rules("111111") == {
"exact_score_points": 5,
"correct_outcome_points": 2,
"wrong_outcome_points": 1,
Expand All @@ -86,7 +86,7 @@ async def test_scoring_rules_button_refreshes_modal_defaults(
bot=admin_cog.bot,
)
await view.load_fixture_options()
await admin_cog.db.update_active_scoring_rules("111111", {"exact_score_points": 5})
await admin_cog.db.seasons.update_active_scoring_rules("111111", {"exact_score_points": 5})

scoring_button = _get_button(view, "Scoring Rules")
await scoring_button.callback(mock_interaction_admin)
Expand Down Expand Up @@ -115,18 +115,18 @@ async def test_scoring_rules_modal_rejects_stale_season_submit(
modal.outcome_input._value = "2"
modal.wrong_input._value = "1"
modal.late_input._value = "1"
await admin_cog.db.start_new_season("111111", "Next Season")
await admin_cog.db.seasons.start_new_season("111111", "Next Season")

await modal.on_submit(mock_interaction_admin)

assert "active season changed" in mock_interaction_admin.response_sent[-1]["content"]
assert await admin_cog.db.get_active_scoring_rules("111111") == {
assert await admin_cog.db.seasons.get_active_scoring_rules("111111") == {
"exact_score_points": 3,
"correct_outcome_points": 1,
"wrong_outcome_points": 0,
"late_prediction_points": 0,
}
seasons = await admin_cog.db.get_seasons("111111")
seasons = await admin_cog.db.seasons.get_seasons("111111")
assert seasons[0]["status"] == "archived"
assert seasons[0]["scoring_rules"] == old_season_rules

Expand Down Expand Up @@ -159,7 +159,7 @@ async def test_scoring_rules_modal_rejects_non_owner(
await modal.on_submit(outsider)

assert "permission" in outsider.response_sent[-1]["content"]
assert await admin_cog.db.get_active_scoring_rules("111111") == {
assert await admin_cog.db.seasons.get_active_scoring_rules("111111") == {
"exact_score_points": 3,
"correct_outcome_points": 1,
"wrong_outcome_points": 0,
Expand Down Expand Up @@ -192,7 +192,7 @@ async def test_scoring_rules_modal_rechecks_admin_permission(
await modal.on_submit(mock_interaction_admin)

assert "no longer have permission" in mock_interaction_admin.response_sent[-1]["content"]
assert await admin_cog.db.get_active_scoring_rules("111111") == {
assert await admin_cog.db.seasons.get_active_scoring_rules("111111") == {
"exact_score_points": 3,
"correct_outcome_points": 1,
"wrong_outcome_points": 0,
Expand All @@ -206,11 +206,11 @@ async def test_scoring_rules_modal_blocks_changes_after_scores_exist(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 1, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["2-1", "1-1", "0-0"])
await admin_cog.db.save_prediction(
await admin_cog.db.results.save_results(fixture_id, ["2-1", "1-1", "0-0"])
await admin_cog.db.predictions.save_prediction(
fixture_id,
"user-1",
"User One",
Expand All @@ -233,12 +233,12 @@ async def test_scoring_rules_modal_blocks_changes_after_scores_exist(
modal.outcome_input._value = "2"
modal.wrong_input._value = "1"
modal.late_input._value = "1"
await admin_cog.db.recalculate_fixture_scores(fixture_id)
await admin_cog.db.scores.recalculate_fixture_scores(fixture_id)

await modal.on_submit(mock_interaction_admin)

assert "Cannot change scoring rules" in mock_interaction_admin.response_sent[-1]["content"]
assert await admin_cog.db.get_active_scoring_rules("111111") == {
assert await admin_cog.db.seasons.get_active_scoring_rules("111111") == {
"exact_score_points": 3,
"correct_outcome_points": 1,
"wrong_outcome_points": 0,
Expand Down Expand Up @@ -277,11 +277,11 @@ async def test_stale_scoring_rules_button_refreshes_when_scores_now_exist(
mock_interaction_admin,
sample_games,
):
fixture_id = await admin_cog.db.create_fixture(
fixture_id = await admin_cog.db.fixtures.create_fixture(
"111111", 45, sample_games, datetime.now(UTC) + timedelta(days=1)
)
await admin_cog.db.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.save_prediction(
await admin_cog.db.results.save_results(fixture_id, ["2-1", "1-1", "0-2"])
await admin_cog.db.predictions.save_prediction(
fixture_id,
"111",
"User One",
Expand All @@ -298,7 +298,7 @@ async def test_stale_scoring_rules_button_refreshes_when_scores_now_exist(
)
await view.load_fixture_options()
stale_button = _get_button(view, "Scoring Rules")
await admin_cog.db.recalculate_fixture_scores(fixture_id)
await admin_cog.db.scores.recalculate_fixture_scores(fixture_id)

await stale_button.callback(mock_interaction_admin)

Expand Down
Loading
Loading