Fix #4807 48h before closing a procedure, notify users their draft is not submitted
This commit is contained in:
parent
ea3022a292
commit
e61c53f267
5 changed files with 86 additions and 1 deletions
|
@ -1152,6 +1152,33 @@ describe Dossier do
|
|||
it { expect(Dossier.for_procedure(procedure_2)).to contain_exactly(dossier_2_1) }
|
||||
end
|
||||
|
||||
describe '#notify_draft_not_submitted' do
|
||||
let!(:user1) { create(:user) }
|
||||
let!(:user2) { create(:user) }
|
||||
let!(:procedure_closed_in_time) { create(:procedure, auto_archive_on: Time.zone.today + Dossier::REMAINING_TIME_BEFORE_CLOSING) }
|
||||
let!(:procedure_closed_later) { create(:procedure, auto_archive_on: Time.zone.today + Dossier::REMAINING_TIME_BEFORE_CLOSING + 1.day) }
|
||||
let!(:procedure_closed_before) { create(:procedure, auto_archive_on: Time.zone.today + Dossier::REMAINING_TIME_BEFORE_CLOSING - 1.day) }
|
||||
|
||||
# user 1 has three draft dossiers where one is for procedure that closes in two days ==> should trigger one mail
|
||||
let!(:draft_in_time) { create(:dossier, user: user1, procedure: procedure_closed_in_time) }
|
||||
let!(:draft_before) { create(:dossier, user: user1, procedure: procedure_closed_before) }
|
||||
let!(:draft_later) { create(:dossier, user: user1, procedure: procedure_closed_later) }
|
||||
|
||||
# user 2 submitted a draft and en_construction dossier for the same procedure ==> should not trigger the mail
|
||||
let!(:draft_in_time2) { create(:dossier, :en_construction, user: user2, procedure: procedure_closed_in_time) }
|
||||
let!(:submitted_in_time2) { create(:dossier, user: user2, procedure: procedure_closed_in_time) }
|
||||
|
||||
before do
|
||||
allow(DossierMailer).to receive(:notify_dossier_not_submitted).and_return(double(deliver_later: nil))
|
||||
Dossier.notify_draft_not_submitted
|
||||
end
|
||||
|
||||
it 'notifies draft is not submitted' do
|
||||
expect(DossierMailer).to have_received(:notify_dossier_not_submitted).once
|
||||
expect(DossierMailer).to have_received(:notify_dossier_not_submitted).with(draft_in_time)
|
||||
end
|
||||
end
|
||||
|
||||
describe '#geo_position' do
|
||||
let(:lat) { "46.538192" }
|
||||
let(:lon) { "2.428462" }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue