[#10751] Only send the first invitation mail to the instructeur if email is not verified (from admin controller)
This commit is contained in:
parent
d7811fca40
commit
790177c758
2 changed files with 13 additions and 3 deletions
|
@ -252,9 +252,11 @@ module Administrateurs
|
||||||
"Les instructeurs ont bien été affectés à la démarche"
|
"Les instructeurs ont bien été affectés à la démarche"
|
||||||
end
|
end
|
||||||
|
|
||||||
known_instructeurs, new_instructeurs = instructeurs.partition { |instructeur| instructeur.user.email_verified_at }
|
known_instructeurs, not_verified_instructeurs = instructeurs.partition { |instructeur| instructeur.user.email_verified_at }
|
||||||
|
|
||||||
new_instructeurs.each { InstructeurMailer.confirm_and_notify_added_instructeur(_1, groupe_instructeur, current_administrateur.email).deliver_later }
|
not_verified_instructeurs.filter(&:previously_new_record?).each do
|
||||||
|
InstructeurMailer.confirm_and_notify_added_instructeur(_1, groupe_instructeur, current_administrateur.email).deliver_later
|
||||||
|
end
|
||||||
|
|
||||||
if known_instructeurs.present?
|
if known_instructeurs.present?
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
|
|
|
@ -387,7 +387,8 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
context 'of news instructeurs' do
|
context 'of news instructeurs' do
|
||||||
let!(:user_email_verified) { create(:user, :with_email_verified) }
|
let!(:user_email_verified) { create(:user, :with_email_verified) }
|
||||||
let!(:instructeur_email_verified) { create(:instructeur, user: user_email_verified) }
|
let!(:instructeur_email_verified) { create(:instructeur, user: user_email_verified) }
|
||||||
let(:new_instructeur_emails) { ['new_i1@gmail.com', 'new_i2@gmail.com', instructeur_email_verified.email] }
|
let!(:instructeur_email_not_verified) { create(:instructeur, user: create(:user)) }
|
||||||
|
let(:new_instructeur_emails) { ['new_i1@gmail.com', 'new_i2@gmail.com', instructeur_email_verified.email, instructeur_email_not_verified.email] }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
allow(GroupeInstructeurMailer).to receive(:notify_added_instructeurs)
|
allow(GroupeInstructeurMailer).to receive(:notify_added_instructeurs)
|
||||||
|
@ -397,6 +398,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
.and_return(double(deliver_later: true))
|
.and_return(double(deliver_later: true))
|
||||||
do_request
|
do_request
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'validates changes and responses' do
|
it 'validates changes and responses' do
|
||||||
expect(gi_1_2.instructeurs.pluck(:email)).to include(*new_instructeur_emails)
|
expect(gi_1_2.instructeurs.pluck(:email)).to include(*new_instructeur_emails)
|
||||||
expect(flash.notice).to be_present
|
expect(flash.notice).to be_present
|
||||||
|
@ -421,6 +423,12 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
gi_1_2,
|
gi_1_2,
|
||||||
admin.email
|
admin.email
|
||||||
)
|
)
|
||||||
|
|
||||||
|
expect(InstructeurMailer).not_to have_received(:confirm_and_notify_added_instructeur).with(
|
||||||
|
instructeur_email_not_verified,
|
||||||
|
gi_1_2,
|
||||||
|
admin.email
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue