Two pre-existing test failures keep CI red on main #491

Open
opened 2026-04-17 20:37:05 +00:00 by forgejo_admin · 1 comment

Type

Bug

Lineage

Discovered during PR #490 (for issue #488) CI run. Neither failure is caused by #490 — both have been failing on main for multiple commits. Filed as follow-up per feedback_discovered_scope_always_tracked.md.

Repo

forgejo_admin/basketball-api

User Story

As an engineer, I merge PRs against a green main so CI failures signal real regressions, not accumulated test drift.

What Broke

Two tests have been failing on main for multiple commits. Every recent PR's CI run fails with these same two tests — the signal is lost.

Repro Steps

  1. Run python -m pytest tests/ on current main
  2. Observe two failures:
    • tests/test_first_payment_email.py::test_send_first_payment_email — asserts 'Great First Practice' in subject, but the current subject is 'Your First Monthly Payment | Westside Kings & Queens'. Test wasn't updated when #478 landed.
    • tests/test_westside_streamlit_ro_role.py::test_migration_file_exists — looks for alembic/versions/041_add_westside_streamlit_ro_role.py. That file was renamed to 044 in critical fix #444. Test still references the old path.

Expected Behavior

Both tests pass on main. Either update assertions to match current behavior, delete the tests if they're no longer meaningful, or restore the expected code state if the tests were correct and the code drifted.

Environment

  • Branch: main @ current HEAD
  • CI: Woodpecker pipelines on basketball-api — every recent PR shows these two failures
  • Related merges: #478 (apology opening), #444 (migration rename collision fix)

Acceptance Criteria

  • Both tests pass on main
  • Next PR's CI run is fully green (unless the PR itself introduces failures)
  • project-pal-e-platform
  • forgejo_admin/basketball-api #488, #490 — incident tickets that surfaced this
### Type Bug ### Lineage Discovered during PR #490 (for issue #488) CI run. Neither failure is caused by #490 — both have been failing on main for multiple commits. Filed as follow-up per `feedback_discovered_scope_always_tracked.md`. ### Repo `forgejo_admin/basketball-api` ### User Story As an engineer, I merge PRs against a green main so CI failures signal real regressions, not accumulated test drift. ### What Broke Two tests have been failing on main for multiple commits. Every recent PR's CI run fails with these same two tests — the signal is lost. ### Repro Steps 1. Run `python -m pytest tests/` on current main 2. Observe two failures: - `tests/test_first_payment_email.py::test_send_first_payment_email` — asserts `'Great First Practice' in subject`, but the current subject is `'Your First Monthly Payment | Westside Kings & Queens'`. Test wasn't updated when #478 landed. - `tests/test_westside_streamlit_ro_role.py::test_migration_file_exists` — looks for `alembic/versions/041_add_westside_streamlit_ro_role.py`. That file was renamed to `044` in critical fix #444. Test still references the old path. ### Expected Behavior Both tests pass on main. Either update assertions to match current behavior, delete the tests if they're no longer meaningful, or restore the expected code state if the tests were correct and the code drifted. ### Environment - Branch: `main` @ current HEAD - CI: Woodpecker pipelines on basketball-api — every recent PR shows these two failures - Related merges: #478 (apology opening), #444 (migration rename collision fix) ### Acceptance Criteria - [ ] Both tests pass on main - [ ] Next PR's CI run is fully green (unless the PR itself introduces failures) ### Related - `project-pal-e-platform` - `forgejo_admin/basketball-api #488, #490` — incident tickets that surfaced this
Author
Owner

Third pre-existing CI-red test discovered 2026-04-25 (during PR #515 QA review):

  • tests/test_jersey_reminder.py::TestJerseyReminderEmailContent::test_plain_text_has_deadline_copy — asserts 'March 30' in the plain-text email body, but the current jersey reminder copy reads 'April 10'. Verified to also fail on main. Test wasn't updated when the deadline was rolled.

This is the same shape as #491's first finding (test_send_first_payment_email subject mismatch from #478): an email-copy change that didn't propagate to its assertion.

If you'd like to expand #491's scope to cover all three CI-red tests, this comment + the original two findings can be triaged together. Otherwise happy to file separately.

Also flagging — separately filed as a new bug — the migration 029 fresh-DB-upgrade-head failure (type "division" already exists), since that's a different class of issue (alembic) than the test-assertion drift here.

**Third pre-existing CI-red test discovered 2026-04-25** (during PR #515 QA review): - `tests/test_jersey_reminder.py::TestJerseyReminderEmailContent::test_plain_text_has_deadline_copy` — asserts `'March 30'` in the plain-text email body, but the current jersey reminder copy reads `'April 10'`. Verified to also fail on `main`. Test wasn't updated when the deadline was rolled. This is the same shape as #491's first finding (`test_send_first_payment_email` subject mismatch from #478): an email-copy change that didn't propagate to its assertion. If you'd like to expand #491's scope to cover all three CI-red tests, this comment + the original two findings can be triaged together. Otherwise happy to file separately. Also flagging — separately filed as a new bug — the migration 029 fresh-DB-upgrade-head failure (`type "division" already exists`), since that's a different class of issue (alembic) than the test-assertion drift here.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/basketball-api#491
No description provided.