|
48 | 48 | form_document: form_without_file_upload, |
49 | 49 | last_delivery_attempt: 6.days.ago |
50 | 50 | end |
51 | | - let!(:sent_submission_sent_at_7_days_ago) do |
52 | | - create :submission, |
53 | | - :sent, |
54 | | - reference: "SENT7DAYS", |
55 | | - form_id: form_without_file_upload.id, |
56 | | - form_document: form_without_file_upload, |
57 | | - sent_at: 7.days.ago |
58 | | - end |
59 | | - let!(:sent_submission_sent_at_6_days_ago) do |
60 | | - create :submission, |
61 | | - :sent, |
62 | | - reference: "SENT6DAYS", |
63 | | - form_id: form_without_file_upload.id, |
64 | | - form_document: form_without_file_upload, |
65 | | - sent_at: 6.days.ago |
66 | | - end |
67 | | - let!(:bounced_submission_mail_status) do |
68 | | - create :submission, |
69 | | - :sent, |
70 | | - reference: "BOUNCED", |
71 | | - form_id: form_without_file_upload.id, |
72 | | - form_document: form_without_file_upload, |
73 | | - last_delivery_attempt: 7.days.ago, |
74 | | - mail_status: :bounced |
75 | | - end |
76 | 51 | let!(:bounced_submission) do |
77 | 52 | create :submission, |
78 | 53 | :sent, |
79 | 54 | reference: "BOUNCED", |
80 | 55 | form_id: form_without_file_upload.id, |
81 | 56 | form_document: form_without_file_upload, |
82 | 57 | last_delivery_attempt: 7.days.ago, |
83 | | - delivery_status: :delivery_bounced |
| 58 | + delivery_status: :bounced |
84 | 59 | end |
85 | | - let!(:unsent_submission) { create :submission, reference: "UNSENT", sent_at: nil } |
| 60 | + let!(:unsent_submission) { create :submission, reference: "UNSENT", last_delivery_attempt: nil } |
86 | 61 |
|
87 | 62 | let(:output) { StringIO.new } |
88 | 63 | let(:logger) do |
|
117 | 92 | end |
118 | 93 |
|
119 | 94 | it "destroys the sent submissions updated more than 7 days ago" do |
120 | | - expect { perform_enqueued_jobs }.to change(Submission, :count).by(-3) |
| 95 | + expect { perform_enqueued_jobs }.to change(Submission, :count).by(-2) |
121 | 96 | expect(Submission.exists?(sent_submission_sent_8_days_ago.id)).to be false |
122 | 97 | expect(Submission.exists?(sent_submission_sent_7_days_ago.id)).to be false |
123 | | - expect(Submission.exists?(sent_submission_sent_at_7_days_ago.id)).to be false |
124 | 98 | end |
125 | 99 |
|
126 | 100 | it "does not destroy the sent submission updated more recently than 7 days ago" do |
127 | 101 | perform_enqueued_jobs |
128 | 102 | expect(Submission.exists?(sent_submission_sent_6_days_ago.id)).to be true |
129 | | - expect(Submission.exists?(sent_submission_sent_at_6_days_ago.id)).to be true |
130 | 103 | end |
131 | 104 |
|
132 | 105 | it "does not destroy the submission that hasn't been sent" do |
|
139 | 112 | expect(Submission.exists?(bounced_submission.id)).to be true |
140 | 113 | end |
141 | 114 |
|
142 | | - it "does not destroy the submission that marked bounced under mail status" do |
143 | | - perform_enqueued_jobs |
144 | | - expect(Submission.exists?(bounced_submission_mail_status.id)).to be true |
145 | | - end |
146 | | - |
147 | 115 | it "logs deletion" do |
148 | 116 | perform_enqueued_jobs |
149 | 117 | expect(log_lines).to include( |
|
208 | 176 | end |
209 | 177 |
|
210 | 178 | it "continues to delete the next submission" do |
211 | | - expect { perform_enqueued_jobs }.to change(Submission, :count).by(-2) |
| 179 | + expect { perform_enqueued_jobs }.to change(Submission, :count).by(-1) |
212 | 180 | expect(Submission.exists?(sent_submission_sent_7_days_ago.id)).to be false |
213 | | - expect(Submission.exists?(sent_submission_sent_at_7_days_ago.id)).to be false |
214 | 181 | end |
215 | 182 |
|
216 | 183 | it "sends cloudwatch metric" do |
|
0 commit comments