[#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"
|
||||
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?
|
||||
GroupeInstructeurMailer
|
||||
|
|
|
@ -387,7 +387,8 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
|||
context 'of news instructeurs' do
|
||||
let!(:user_email_verified) { create(:user, :with_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
|
||||
allow(GroupeInstructeurMailer).to receive(:notify_added_instructeurs)
|
||||
|
@ -397,6 +398,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
|||
.and_return(double(deliver_later: true))
|
||||
do_request
|
||||
end
|
||||
|
||||
it 'validates changes and responses' do
|
||||
expect(gi_1_2.instructeurs.pluck(:email)).to include(*new_instructeur_emails)
|
||||
expect(flash.notice).to be_present
|
||||
|
@ -421,6 +423,12 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
|||
gi_1_2,
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue