From c2c3f0526275381744cfc6f0c7b6cfcd4481eb3c Mon Sep 17 00:00:00 2001 From: clemkeirua Date: Tue, 10 Dec 2019 16:11:48 +0100 Subject: [PATCH 1/3] =?UTF-8?q?p'tit=20fix=20d'utilisabilit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/TypesDeChampEditor/components/TypeDeChamps.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js index e59666775..0f96464db 100644 --- a/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js +++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js @@ -37,8 +37,9 @@ function TypeDeChamps({ state: rootState, typeDeChamps }) { {state.typeDeChamps.length === 0 && (

-   Cliquez sur le bouton « Ajouter un champ » pour - créer votre premier champ. +   Cliquez sur le bouton «  + {addChampLabel(state.isAnnotation)} » pour créer votre premier + champ.

)}
 
From c02e8b955372f27faa9585b26c343e3ea4a0f88b Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Mon, 16 Dec 2019 17:47:08 +0100 Subject: [PATCH 2/3] Routing: send emails to the right group --- app/mailers/groupe_instructeur_mailer.rb | 6 +++--- .../groupe_instructeurs_controller_spec.rb | 10 ++++++++++ .../mailers/groupe_instructeur_mailer_spec.rb | 20 +++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 spec/mailers/groupe_instructeur_mailer_spec.rb diff --git a/app/mailers/groupe_instructeur_mailer.rb b/app/mailers/groupe_instructeur_mailer.rb index dbb122c87..e045169bf 100644 --- a/app/mailers/groupe_instructeur_mailer.rb +++ b/app/mailers/groupe_instructeur_mailer.rb @@ -1,9 +1,9 @@ class GroupeInstructeurMailer < ApplicationMailer layout 'mailers/layout' - def add_instructeurs(group, instructeurs, current_instructeur_email) - @new_instructeur_emails = instructeurs.map(&:email) - @group = Procedure.last.defaut_groupe_instructeur + def add_instructeurs(group, new_instructeurs, current_instructeur_email) + @new_instructeur_emails = new_instructeurs.map(&:email) + @group = group @current_instructeur_email = current_instructeur_email subject = "Ajout d’un instructeur dans le groupe \"#{group.label}\"" diff --git a/spec/controllers/new_administrateur/groupe_instructeurs_controller_spec.rb b/spec/controllers/new_administrateur/groupe_instructeurs_controller_spec.rb index d7464006d..e312b7c84 100644 --- a/spec/controllers/new_administrateur/groupe_instructeurs_controller_spec.rb +++ b/spec/controllers/new_administrateur/groupe_instructeurs_controller_spec.rb @@ -89,6 +89,9 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do before do gi_1_1.instructeurs << instructeur + allow(GroupeInstructeurMailer).to receive(:add_instructeurs) + .and_return(double(deliver_later: true)) + post :add_instructeur, params: { procedure_id: procedure.id, @@ -103,6 +106,13 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do it { expect(gi_1_1.instructeurs.pluck(:email)).to include(*new_instructeur_emails) } it { expect(flash.notice).to be_present } it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, gi_1_1)) } + it "calls GroupeInstructeurMailer with the right groupe and instructeurs" do + expect(GroupeInstructeurMailer).to have_received(:add_instructeurs).with( + gi_1_1, + satisfy { |instructeurs| instructeurs.all? { |i| new_instructeur_emails.include?(i.email) } }, + admin.email + ) + end end context 'of an instructeur already in the group' do diff --git a/spec/mailers/groupe_instructeur_mailer_spec.rb b/spec/mailers/groupe_instructeur_mailer_spec.rb new file mode 100644 index 000000000..ba9f82711 --- /dev/null +++ b/spec/mailers/groupe_instructeur_mailer_spec.rb @@ -0,0 +1,20 @@ +RSpec.describe GroupeInstructeurMailer, type: :mailer do + describe '#add_instructeurs' do + let(:groupe_instructeur) do + gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure)) + gi.instructeurs << create(:instructeur, email: 'int1@g') + gi.instructeurs << create(:instructeur, email: 'int2@g') + gi + end + let(:instructeur_1) { create(:instructeur) } + let(:instructeur_2) { create(:instructeur) } + + let(:instructeurs) { [instructeur_1, instructeur_2] } + let(:current_instructeur_email) { 'toto@email.com' } + + subject { described_class.add_instructeurs(groupe_instructeur, instructeurs, current_instructeur_email) } + + it { expect(subject.body).to include('Bonjour') } + it { expect(subject.bcc).to match_array(['int1@g', 'int2@g']) } + end +end From f069f6f77914caffb5b77e8c41d2c9244c719c06 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Mon, 16 Dec 2019 18:20:00 +0100 Subject: [PATCH 3/3] Make the new instructeur receive the affectation mail --- .../new_administrateur/groupe_instructeurs_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/new_administrateur/groupe_instructeurs_controller.rb b/app/controllers/new_administrateur/groupe_instructeurs_controller.rb index f965781e5..fe1adc93a 100644 --- a/app/controllers/new_administrateur/groupe_instructeurs_controller.rb +++ b/app/controllers/new_administrateur/groupe_instructeurs_controller.rb @@ -69,12 +69,12 @@ module NewAdministrateur create_instructeur(instructeur_email) end + groupe_instructeur.instructeurs << instructeurs + GroupeInstructeurMailer .add_instructeurs(groupe_instructeur, instructeurs, current_user.email) .deliver_later - groupe_instructeur.instructeurs << instructeurs - flash[:notice] = t('.assignment', count: email_to_adds.count, value: email_to_adds.join(', '),