|
60 | 60 | expect(CloudWatchService).not_to have_received(:record_submission_delivery_latency_metric) |
61 | 61 | end |
62 | 62 | end |
| 63 | + |
| 64 | + context "when the delivery is a weekly batch delivery" do |
| 65 | + let(:submission) { create :submission, :sent, delivery_reference: "something-else", created_at: Time.zone.parse("2025-05-09T10:25:35.001Z") } |
| 66 | + |
| 67 | + before do |
| 68 | + create :delivery, :weekly, delivery_reference:, submissions: [submission], created_at: Time.zone.parse("2025-05-09T10:25:35.001Z") |
| 69 | + end |
| 70 | + |
| 71 | + it "does not send submission delivery latency metric" do |
| 72 | + described_class.perform_now |
| 73 | + expect(CloudWatchService).not_to have_received(:record_submission_delivery_latency_metric) |
| 74 | + end |
| 75 | + end |
63 | 76 | end |
64 | 77 |
|
65 | 78 | describe "processing delivery notifications" do |
|
94 | 107 |
|
95 | 108 | context "when the delivery is a daily batch delivery" do |
96 | 109 | let!(:submission) { create :submission, :sent, delivery_reference: "something-else" } |
97 | | - let!(:delivery) { create(:delivery, :daily, delivery_reference:, submissions: [submission], created_at: Time.zone.parse("2025-05-09T10:25:35.001Z")) } |
| 110 | + let!(:delivery) { create(:delivery, :daily_scheduled_delivery, delivery_reference:, submissions: [submission], created_at: Time.zone.parse("2025-05-09T10:25:35.001Z")) } |
| 111 | + |
| 112 | + it "logs form event with batch delivery details", :capture_logging do |
| 113 | + perform_enqueued_jobs |
| 114 | + |
| 115 | + expect(log_lines).to include(hash_including( |
| 116 | + "level" => "INFO", |
| 117 | + "message" => "Form event", |
| 118 | + "event" => "form_submission_batch_delivered", |
| 119 | + "form_id" => submission.form_id, |
| 120 | + "form_name" => submission.form.name, |
| 121 | + "delivery_reference" => delivery_reference, |
| 122 | + "delivery_id" => delivery.id, |
| 123 | + "delivery_schedule" => "daily", |
| 124 | + "batch_begin_at" => delivery.batch_begin_at, |
| 125 | + "preview" => "false", |
| 126 | + "sns_message_timestamp" => sns_message_timestamp, |
| 127 | + "job_id" => @job_id, |
| 128 | + "job_class" => "ReceiveSubmissionDeliveriesJob", |
| 129 | + )) |
| 130 | + end |
| 131 | + end |
| 132 | + |
| 133 | + context "when the delivery is a weekly batch delivery" do |
| 134 | + let!(:submission) { create :submission, :sent, delivery_reference: "something-else" } |
| 135 | + let!(:delivery) { create(:delivery, :weekly_scheduled_delivery, delivery_reference:, submissions: [submission], created_at: Time.zone.parse("2025-05-09T10:25:35.001Z")) } |
98 | 136 |
|
99 | 137 | it "logs form event with batch delivery details", :capture_logging do |
100 | 138 | perform_enqueued_jobs |
|
107 | 145 | "form_name" => submission.form.name, |
108 | 146 | "delivery_reference" => delivery_reference, |
109 | 147 | "delivery_id" => delivery.id, |
| 148 | + "delivery_schedule" => "weekly", |
| 149 | + "batch_begin_at" => delivery.batch_begin_at, |
110 | 150 | "preview" => "false", |
111 | 151 | "sns_message_timestamp" => sns_message_timestamp, |
112 | 152 | "job_id" => @job_id, |
|
0 commit comments