feat: Complete email notifications system with comprehensive functionality
- Implement comprehensive email notification system for ticket purchases and event reminders - Add event reminder job with configurable scheduling - Enhance ticket mailer with QR code generation and proper formatting - Update order model with email delivery tracking - Add comprehensive test coverage for all email functionality - Configure proper mailer settings and disable annotations - Update backlog to reflect completed email features 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -23,9 +23,9 @@ class EventReminderJobTest < ActiveJob::TestCase
|
||||
test "logs error when mailer fails" do
|
||||
# Mock a failing mailer
|
||||
TicketMailer.stubs(:event_reminder).raises(StandardError.new("Test error"))
|
||||
|
||||
|
||||
Rails.logger.expects(:error).with(regexp_matches(/Failed to send event reminder/))
|
||||
|
||||
|
||||
EventReminderJob.perform_now(@event.id, 7)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -9,7 +9,7 @@ class EventReminderSchedulerJobTest < ActiveJob::TestCase
|
||||
# Set event to start in exactly 7 days
|
||||
@event.update(start_time: 7.days.from_now.beginning_of_day + 10.hours)
|
||||
|
||||
assert_enqueued_with(job: EventReminderJob, args: [@event.id, 7]) do
|
||||
assert_enqueued_with(job: EventReminderJob, args: [ @event.id, 7 ]) do
|
||||
EventReminderSchedulerJob.perform_now
|
||||
end
|
||||
end
|
||||
@@ -18,7 +18,7 @@ class EventReminderSchedulerJobTest < ActiveJob::TestCase
|
||||
# Set event to start tomorrow
|
||||
@event.update(start_time: 1.day.from_now.beginning_of_day + 20.hours)
|
||||
|
||||
assert_enqueued_with(job: EventReminderJob, args: [@event.id, 1]) do
|
||||
assert_enqueued_with(job: EventReminderJob, args: [ @event.id, 1 ]) do
|
||||
EventReminderSchedulerJob.perform_now
|
||||
end
|
||||
end
|
||||
@@ -27,7 +27,7 @@ class EventReminderSchedulerJobTest < ActiveJob::TestCase
|
||||
# Set event to start today
|
||||
@event.update(start_time: Time.current.beginning_of_day + 21.hours)
|
||||
|
||||
assert_enqueued_with(job: EventReminderJob, args: [@event.id, 0]) do
|
||||
assert_enqueued_with(job: EventReminderJob, args: [ @event.id, 0 ]) do
|
||||
EventReminderSchedulerJob.perform_now
|
||||
end
|
||||
end
|
||||
@@ -47,4 +47,4 @@ class EventReminderSchedulerJobTest < ActiveJob::TestCase
|
||||
EventReminderSchedulerJob.perform_now
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user