From 5a9f0d552a94e3648fc61d3f9f3fddbd4d859781 Mon Sep 17 00:00:00 2001 From: Phil Skentelbery Date: Mon, 22 Dec 2025 17:56:59 -0700 Subject: [PATCH] fix: use string budget in email service instead of float MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The budget field is stored as a string (e.g., '$25-50'), not a number. Updated EmailService.send_registration_confirmation() to accept budget as a string and display it directly in the email. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/routes/participant.py | 2 +- src/services/email.py | 6 +++--- tests/unit/test_email_service.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/routes/participant.py b/src/routes/participant.py index 4dd0a3b..7fa5d80 100644 --- a/src/routes/participant.py +++ b/src/routes/participant.py @@ -136,7 +136,7 @@ def register(slug: str): magic_link_url=magic_link_url, exchange_name=exchange.name, exchange_description=exchange.description, - budget_amount=float(exchange.budget.replace("$", "")), + budget=exchange.budget, gift_exchange_date=exchange.exchange_date.strftime("%Y-%m-%d"), ) except Exception as e: diff --git a/src/services/email.py b/src/services/email.py index 570bfd5..d89ff50 100644 --- a/src/services/email.py +++ b/src/services/email.py @@ -125,7 +125,7 @@ class EmailService: magic_link_url: str, exchange_name: str, exchange_description: str | None, - budget_amount: float, + budget: str, gift_exchange_date: str, ) -> Any: """Send registration confirmation email with magic link. @@ -136,7 +136,7 @@ class EmailService: magic_link_url: Full URL with magic token exchange_name: Name of the exchange exchange_description: Description of the exchange (optional) - budget_amount: Budget amount + budget: Budget description (e.g., "$25-50") gift_exchange_date: Date of gift exchange Returns: @@ -159,7 +159,7 @@ class EmailService: {description_html}

Exchange Details

Access Your Dashboard

diff --git a/tests/unit/test_email_service.py b/tests/unit/test_email_service.py index 8178d37..7c0d263 100644 --- a/tests/unit/test_email_service.py +++ b/tests/unit/test_email_service.py @@ -167,7 +167,7 @@ class TestEmailService: magic_link_url="https://example.com/magic/abc123", exchange_name="Secret Santa 2025", exchange_description="Annual office Secret Santa", - budget_amount=50, + budget="$25-50", gift_exchange_date="2025-12-20", ) @@ -179,7 +179,7 @@ class TestEmailService: assert "John Doe" in call_args["html_body"] assert "https://example.com/magic/abc123" in call_args["html_body"] assert "Annual office Secret Santa" in call_args["html_body"] - assert "$50" in call_args["html_body"] + assert "$25-50" in call_args["html_body"] assert "2025-12-20" in call_args["html_body"] def test_dev_mode_logs_magic_link_url(self, app, caplog):