refactor(groupe instructeur mailer): rename mailer methods
This commit is contained in:
parent
cbf072961c
commit
5be58c8223
13 changed files with 38 additions and 38 deletions
|
@ -148,11 +148,11 @@ module Administrateurs
|
||||||
if groupe_instructeur.remove(instructeur)
|
if groupe_instructeur.remove(instructeur)
|
||||||
flash[:notice] = if procedure.routing_enabled?
|
flash[:notice] = if procedure.routing_enabled?
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeur(groupe_instructeur, [instructeur], current_administrateur.email)
|
.notify_removed_instructeurs(groupe_instructeur, [instructeur], current_administrateur.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
|
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeurs(groupe_instructeur, [instructeur], current_administrateur.email)
|
.notify_group_when_instructeurs_removed(groupe_instructeur, [instructeur], current_administrateur.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
|
|
||||||
"L’instructeur « #{instructeur.email} » a été retiré du groupe."
|
"L’instructeur « #{instructeur.email} » a été retiré du groupe."
|
||||||
|
|
|
@ -35,11 +35,11 @@ module Instructeurs
|
||||||
if groupe_instructeur.remove(instructeur)
|
if groupe_instructeur.remove(instructeur)
|
||||||
flash[:notice] = "L’instructeur « #{instructeur.email} » a été retiré du groupe."
|
flash[:notice] = "L’instructeur « #{instructeur.email} » a été retiré du groupe."
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeur(groupe_instructeur, [instructeur], current_administrateur.email)
|
.notify_removed_instructeurs(groupe_instructeur, [instructeur], current_user.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
|
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeurs(groupe_instructeur, [instructeur], current_user.email)
|
.notify_group_when_instructeurs_removed(groupe_instructeur, [instructeur], current_user.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
else
|
else
|
||||||
flash[:alert] = "L’instructeur « #{instructeur.email} » n’est pas dans le groupe."
|
flash[:alert] = "L’instructeur « #{instructeur.email} » n’est pas dans le groupe."
|
||||||
|
|
|
@ -17,11 +17,11 @@ module Mutations
|
||||||
|
|
||||||
if groupe_instructeur.procedure.routing_enabled? && instructeurs.present?
|
if groupe_instructeur.procedure.routing_enabled? && instructeurs.present?
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeur(groupe_instructeur, instructeurs, current_administrateur.email)
|
.notify_removed_instructeurs(groupe_instructeur, instructeurs, current_administrateur.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
|
|
||||||
GroupeInstructeurMailer
|
GroupeInstructeurMailer
|
||||||
.remove_instructeurs(groupe_instructeur, instructeurs, current_administrateur.email)
|
.notify_group_when_instructeurs_removed(groupe_instructeur, instructeurs, current_administrateur.email)
|
||||||
.deliver_later
|
.deliver_later
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class GroupeInstructeurMailer < ApplicationMailer
|
class GroupeInstructeurMailer < ApplicationMailer
|
||||||
layout 'mailers/layout'
|
layout 'mailers/layout'
|
||||||
|
|
||||||
def remove_instructeurs(group, removed_instructeurs, current_instructeur_email)
|
def notify_group_when_instructeurs_removed(group, removed_instructeurs, current_instructeur_email)
|
||||||
@removed_instructeur_emails = removed_instructeurs.map(&:email)
|
@removed_instructeur_emails = removed_instructeurs.map(&:email)
|
||||||
@group = group
|
@group = group
|
||||||
@current_instructeur_email = current_instructeur_email
|
@current_instructeur_email = current_instructeur_email
|
||||||
|
@ -12,12 +12,12 @@ class GroupeInstructeurMailer < ApplicationMailer
|
||||||
mail(bcc: emails, subject: subject)
|
mail(bcc: emails, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_instructeur(group, removed_instructeurs, current_instructeur_email)
|
def notify_removed_instructeurs(group, removed_instructeurs, current_instructeur_email)
|
||||||
removed_instructeur_emails = removed_instructeurs.map(&:email)
|
removed_instructeur_emails = removed_instructeurs.map(&:email)
|
||||||
@group = group
|
@group = group
|
||||||
@current_instructeur_email = current_instructeur_email
|
@current_instructeur_email = current_instructeur_email
|
||||||
|
|
||||||
subject = "Retrait du groupe \"#{group.label}\""
|
subject = "Vous avez été retiré du groupe \"#{group.label}\" de la démarche \"#{group.procedure.libelle}\""
|
||||||
|
|
||||||
mail(bcc: removed_instructeur_emails, subject: subject)
|
mail(bcc: removed_instructeur_emails, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
= t('administrateurs.groupe_instructeurs.notify_group_when_instructeurs_removed.email_body', count: @removed_instructeur_emails.size, emails: @removed_instructeur_emails.join(', '), groupe: @group.label, email: @current_instructeur_email, procedure: @group.procedure.libelle)
|
||||||
|
|
||||||
|
%p
|
||||||
|
Cliquez sur le lien ci-dessous pour voir la liste des instructeurs de ce groupe :
|
||||||
|
= link_to(@group.label, admin_procedure_groupe_instructeur_url(@group.procedure, @group))
|
||||||
|
|
||||||
|
= render partial: "layouts/mailers/signature"
|
|
@ -0,0 +1,7 @@
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
= t('administrateurs.groupe_instructeurs.notify_removed_instructeurs.email_body', groupe: @group.label, email: @current_instructeur_email, procedure: @group.procedure.libelle)
|
||||||
|
|
||||||
|
= render partial: "layouts/mailers/signature"
|
|
@ -1,7 +0,0 @@
|
||||||
%p
|
|
||||||
Bonjour,
|
|
||||||
|
|
||||||
%p
|
|
||||||
= t('administrateurs.groupe_instructeurs.remove_instructeur.email_body', groupe: @group.label, email: @current_instructeur_email, procedure: @group.procedure.libelle)
|
|
||||||
|
|
||||||
= render partial: "layouts/mailers/signature"
|
|
|
@ -1,11 +0,0 @@
|
||||||
%p
|
|
||||||
Bonjour,
|
|
||||||
|
|
||||||
%p
|
|
||||||
= t('administrateurs.groupe_instructeurs.remove_instructeurs.email_body', count: @removed_instructeur_emails.size, emails: @removed_instructeur_emails.join(', '), groupe: @group.label, email: @current_instructeur_email, procedure: @group.procedure.libelle)
|
|
||||||
|
|
||||||
%p
|
|
||||||
Cliquez sur le lien ci-dessous pour voir la liste des instructeurs de ce groupe :
|
|
||||||
= link_to(@group.label, admin_procedure_groupe_instructeur_url(@group.procedure, @group))
|
|
||||||
|
|
||||||
= render partial: "layouts/mailers/signature"
|
|
|
@ -19,11 +19,11 @@ en:
|
||||||
email_body:
|
email_body:
|
||||||
one: "The instructor %{emails} was assigned to the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
one: "The instructor %{emails} was assigned to the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
||||||
other: "The instructors %{emails} were assigned to the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
other: "The instructors %{emails} were assigned to the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
||||||
remove_instructeurs:
|
notify_group_when_instructeurs_removed:
|
||||||
email_body:
|
email_body:
|
||||||
one: "The instructor %{emails} was removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
one: "The instructor %{emails} was removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
||||||
other: "The instructors %{emails} were removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
other: "The instructors %{emails} were removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
||||||
remove_instructeur:
|
notify_removed_instructeurs:
|
||||||
email_body: "You were removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
email_body: "You were removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
|
||||||
reaffecter_dossiers:
|
reaffecter_dossiers:
|
||||||
existing_groupe:
|
existing_groupe:
|
||||||
|
|
|
@ -25,11 +25,11 @@ fr:
|
||||||
email_body:
|
email_body:
|
||||||
one: "L’instructeur %{emails} a été affecté au groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
one: "L’instructeur %{emails} a été affecté au groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
||||||
other: "Les instructeurs %{emails} ont été affectés au groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
other: "Les instructeurs %{emails} ont été affectés au groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
||||||
remove_instructeurs:
|
notify_group_when_instructeurs_removed:
|
||||||
email_body:
|
email_body:
|
||||||
one: "L’instructeur %{emails} a été retiré du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
one: "L’instructeur %{emails} a été retiré du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
||||||
other: "Les instructeurs %{emails} ont été retirés du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
other: "Les instructeurs %{emails} ont été retirés du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
||||||
remove_instructeur:
|
notify_removed_instructeurs:
|
||||||
email_body: "Vous avez été retiré du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
email_body: "Vous avez été retiré du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
|
||||||
reaffecter_dossiers:
|
reaffecter_dossiers:
|
||||||
existing_groupe:
|
existing_groupe:
|
||||||
|
|
|
@ -321,7 +321,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
|
|
||||||
context 'when there are many instructeurs' do
|
context 'when there are many instructeurs' do
|
||||||
before do
|
before do
|
||||||
allow(GroupeInstructeurMailer).to receive(:remove_instructeur)
|
allow(GroupeInstructeurMailer).to receive(:notify_removed_instructeurs)
|
||||||
.and_return(double(deliver_later: true))
|
.and_return(double(deliver_later: true))
|
||||||
remove_instructeur(admin.instructeur)
|
remove_instructeur(admin.instructeur)
|
||||||
end
|
end
|
||||||
|
@ -330,7 +330,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
|
||||||
it { expect(gi_1_1.reload.instructeurs.count).to eq(1) }
|
it { expect(gi_1_1.reload.instructeurs.count).to eq(1) }
|
||||||
it { expect(response).to redirect_to(admin_procedure_groupe_instructeur_path(procedure, gi_1_1)) }
|
it { expect(response).to redirect_to(admin_procedure_groupe_instructeur_path(procedure, gi_1_1)) }
|
||||||
it "calls GroupeInstructeurMailer with the right groupe and instructeur" do
|
it "calls GroupeInstructeurMailer with the right groupe and instructeur" do
|
||||||
expect(GroupeInstructeurMailer).to have_received(:remove_instructeur).with(
|
expect(GroupeInstructeurMailer).to have_received(:notify_removed_instructeurs).with(
|
||||||
gi_1_1,
|
gi_1_1,
|
||||||
[admin.instructeur],
|
[admin.instructeur],
|
||||||
admin.email
|
admin.email
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
RSpec.describe GroupeInstructeurMailer, type: :mailer do
|
RSpec.describe GroupeInstructeurMailer, type: :mailer do
|
||||||
describe '#remove_instructeurs' do
|
describe '#notify_group_when_instructeurs_removed' do
|
||||||
let(:groupe_instructeur) do
|
let(:groupe_instructeur) do
|
||||||
gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure))
|
gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure))
|
||||||
gi.instructeurs << create(:instructeur, email: 'int1@g')
|
gi.instructeurs << create(:instructeur, email: 'int1@g')
|
||||||
|
@ -13,13 +13,13 @@ RSpec.describe GroupeInstructeurMailer, type: :mailer do
|
||||||
let(:instructeurs_to_remove) { [instructeur_3, instructeur_4] }
|
let(:instructeurs_to_remove) { [instructeur_3, instructeur_4] }
|
||||||
let(:current_instructeur_email) { 'toto@email.com' }
|
let(:current_instructeur_email) { 'toto@email.com' }
|
||||||
|
|
||||||
subject { described_class.remove_instructeurs(groupe_instructeur, instructeurs_to_remove, current_instructeur_email) }
|
subject { described_class.notify_group_when_instructeurs_removed(groupe_instructeur, instructeurs_to_remove, current_instructeur_email) }
|
||||||
|
|
||||||
it { expect(subject.body).to include('Les instructeurs int3@g, int4@g ont été retirés du groupe') }
|
it { expect(subject.body).to include('Les instructeurs int3@g, int4@g ont été retirés du groupe') }
|
||||||
it { expect(subject.bcc).to include('int1@g', 'int2@g') }
|
it { expect(subject.bcc).to include('int1@g', 'int2@g') }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#remove_instructeur' do
|
describe '#notify_removed_instructeurs' do
|
||||||
let(:groupe_instructeur) do
|
let(:groupe_instructeur) do
|
||||||
gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure))
|
gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure))
|
||||||
gi.instructeurs << create(:instructeur, email: 'int1@g')
|
gi.instructeurs << create(:instructeur, email: 'int1@g')
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe GroupeInstructeurMailer, type: :mailer do
|
||||||
let(:instructeurs_to_remove) { [instructeur_3, instructeur_4] }
|
let(:instructeurs_to_remove) { [instructeur_3, instructeur_4] }
|
||||||
let(:current_instructeur_email) { 'toto@email.com' }
|
let(:current_instructeur_email) { 'toto@email.com' }
|
||||||
|
|
||||||
subject { described_class.remove_instructeur(groupe_instructeur, instructeurs_to_remove, current_instructeur_email) }
|
subject { described_class.notify_removed_instructeurs(groupe_instructeur, instructeurs_to_remove, current_instructeur_email) }
|
||||||
|
|
||||||
it { expect(subject.body).to include('ous avez été retiré du groupe « gi1 » par « toto@email.com »') }
|
it { expect(subject.body).to include('ous avez été retiré du groupe « gi1 » par « toto@email.com »') }
|
||||||
it { expect(subject.bcc).to match_array(['int3@g', 'int4@g']) }
|
it { expect(subject.bcc).to match_array(['int3@g', 'int4@g']) }
|
||||||
|
|
|
@ -4,7 +4,7 @@ class GroupeInstructeurMailerPreview < ActionMailer::Preview
|
||||||
groupe = GroupeInstructeur.new(id: 1, label: 'Val-De-Marne', procedure:)
|
groupe = GroupeInstructeur.new(id: 1, label: 'Val-De-Marne', procedure:)
|
||||||
current_instructeur_email = 'admin@dgfip.com'
|
current_instructeur_email = 'admin@dgfip.com'
|
||||||
instructeurs = Instructeur.limit(2)
|
instructeurs = Instructeur.limit(2)
|
||||||
GroupeInstructeurMailer.remove_instructeurs(groupe, instructeurs, current_instructeur_email)
|
GroupeInstructeurMailer.notify_group_when_instructeurs_removed(groupe, instructeurs, current_instructeur_email)
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_instructeur
|
def remove_instructeur
|
||||||
|
|
Loading…
Reference in a new issue