Skip to content

Conversation

@liocle
Copy link
Owner

@liocle liocle commented Jul 21, 2025

  • Add PDF generation dependencies

    • Installed WeasyPrint (and its transitive deps: pydyf, tinycss2, etc.)
    • Updated app/requirements.txt
  • Implement welcome-letter generation

    • Created app/pdf/generate_welcome_letter.py
    • Added /members/{member_id}/generate_welcome_letter route in app/api/routes_member.py
    • Generates a PDF file named welcome_letter_<reference_number>.pdf into output/letters
  • Testing

    • Moved ENV_FILE = ".env.test" to the top of tests/conftest.py so our test DB URL is picked up before importing config.settings
    • Added tests/test_generate_welcome_letter_route.py covering:
      • Successful PDF creation
      • “Member not found” (404)
      • “No memberships” (400)
  • Manually exercise the new route

    curl -X POST http://localhost:8000/members/members/1/generate_welcome_letter
  • You should see output/letters/welcome_letter_.pdf appear.

@liocle liocle merged commit 4a7ad4f into main Jul 22, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants