feat: add apology opening to first-payment email #478
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api!478
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "477-apology-opening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds a broken-link apology paragraph at the top of the first-payment email so parents understand why they're getting a second email and trust the new link.
Wording approved by Marcus in WKQ Stakeholders GroupMe.
Changes
src/basketball_api/services/email.py— added apology paragraph as the first body paragraph in bothbody_html(matching existing style) andplain_bodytests/test_first_payment_email.py— new testtest_send_first_payment_email_contains_apologyasserts the apology text appears in both HTML and plaintextReview Checklist
Test Plan
19d8992712e5f695)Related Notes
None.
Related
Closes #477
Follow-up to #473 (first-payment 409 fix)
PR #478 Review
DOMAIN REVIEW
Python/FastAPI email template change in
src/basketball_api/services/email.pywith matching test intests/test_first_payment_email.py. Focused, narrow diff: +36/-0 across 2 files. Only thesend_first_payment_emailfunction body is touched. No changes to checkout, admin, models, webhooks, or any security-adjacent path.color: {_BRAND_LIGHT}; font-size: 15px; margin: 0 0 20px 0;as the existing opening paragraph. Em-dash encoded via\u2014matches the existing convention in this file (e.g.\u2019for apostrophes on lines 1070, 1073). Plaintext uses--which is appropriate.Hi {parent_name},greeting in both HTML and plaintext. Good.test_send_first_payment_email_contains_apologyasserts substrings in bothhtml_bodyand plaintextbody, with proper mocking ofget_gmail_client. Follows the existing test patterns in the file.19d8992712e5f695).BLOCKERS
None.
NITS
email\u2014there(no spaces); PR shipsemail \u2014 there(spaced). Cosmetic. Spaced em-dashes are more readable in email HTML and match other style guides; not worth a revision.SOP COMPLIANCE
477-apology-opening)feedback_todos_plan_pipeline— small fixes don't require plans)PROCESS OBSERVATIONS
VERDICT: APPROVED