Skip to content

Commit 107cf0d

Browse files
committed
Handle weekly batch receiving submissions
1 parent e1f5acd commit 107cf0d

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

app/jobs/receive_submission_deliveries_job.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def perform
3434

3535
def process_delivery(delivery, submission, **attributes)
3636
set_submission_logging_attributes(submission:, delivery:) if delivery.immediate?
37-
set_submission_batch_logging_attributes(form: submission.form, mode: submission.mode_object, delivery:) if delivery.daily?
37+
set_submission_batch_logging_attributes(form: submission.form, mode: submission.mode_object, delivery:) if delivery.daily? || delivery.weekly?
3838

3939
delivery.update! attributes
4040

spec/jobs/receive_submission_deliveries_job_spec.rb

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,19 @@
6060
expect(CloudWatchService).not_to have_received(:record_submission_delivery_latency_metric)
6161
end
6262
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
6376
end
6477

6578
describe "processing delivery notifications" do
@@ -114,6 +127,29 @@
114127
))
115128
end
116129
end
130+
131+
context "when the delivery is a weekly batch delivery" do
132+
let!(:submission) { create :submission, :sent, delivery_reference: "something-else" }
133+
let!(:delivery) { create(:delivery, :weekly, delivery_reference:, submissions: [submission], created_at: Time.zone.parse("2025-05-09T10:25:35.001Z")) }
134+
135+
it "logs form event with batch delivery details", :capture_logging do
136+
perform_enqueued_jobs
137+
138+
expect(log_lines).to include(hash_including(
139+
"level" => "INFO",
140+
"message" => "Form event",
141+
"event" => "form_submission_batch_delivered",
142+
"form_id" => submission.form_id,
143+
"form_name" => submission.form.name,
144+
"delivery_reference" => delivery_reference,
145+
"delivery_id" => delivery.id,
146+
"preview" => "false",
147+
"sns_message_timestamp" => sns_message_timestamp,
148+
"job_id" => @job_id,
149+
"job_class" => "ReceiveSubmissionDeliveriesJob",
150+
))
151+
end
152+
end
117153
end
118154

119155
describe "handling unexpected event types" do

0 commit comments

Comments
 (0)