fix: fixes after tchak s review
This commit is contained in:
parent
44b4b5d0ab
commit
9b26bf911c
8 changed files with 112 additions and 14 deletions
|
@ -6,7 +6,7 @@ class GroupeGestionnaireMailer < ApplicationMailer
|
||||||
@groupe_gestionnaire = groupe_gestionnaire
|
@groupe_gestionnaire = groupe_gestionnaire
|
||||||
@current_super_admin_email = current_super_admin_email
|
@current_super_admin_email = current_super_admin_email
|
||||||
|
|
||||||
subject = "Vous avez été ajouté(e) en tant que gestionnaire du groupe d'administrateur \"#{groupe_gestionnaire.name}\""
|
subject = "Vous avez été ajouté(e) en tant que gestionnaire du groupe gestionnaire \"#{groupe_gestionnaire.name}\""
|
||||||
|
|
||||||
mail(bcc: added_gestionnaire_emails, subject: subject)
|
mail(bcc: added_gestionnaire_emails, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
Bonjour,
|
Bonjour,
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Vous venez d’être nommé gestionnaire du groupe #{@groupe_gestionnaire.name} sur #{APPLICATION_NAME}.
|
Vous venez d’être nommé gestionnaire du groupe gestionnaire #{@groupe_gestionnaire.name} sur #{APPLICATION_NAME}.
|
||||||
|
|
||||||
%p
|
%p
|
||||||
Votre compte a été créé pour l'adresse email #{@user.email}. Pour l’activer, nous vous invitons à cliquer sur le lien suivant :
|
Votre compte a été créé pour l'adresse email #{@user.email}. Pour l’activer, nous vous invitons à cliquer sur le lien suivant :
|
||||||
|
|
|
@ -101,7 +101,7 @@ en:
|
||||||
user: 'Go to files list'
|
user: 'Go to files list'
|
||||||
instructeur: 'Go to procedures list'
|
instructeur: 'Go to procedures list'
|
||||||
admin: 'Go to administration panel'
|
admin: 'Go to administration panel'
|
||||||
gestionnaire: "Aller admins group panel"
|
gestionnaire: "Go to admins group panel"
|
||||||
views:
|
views:
|
||||||
legal_notice:
|
legal_notice:
|
||||||
title: "Legal Notices"
|
title: "Legal Notices"
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
fr:
|
|
||||||
activerecord:
|
|
||||||
attributes:
|
|
||||||
groupe_gestionnaire:
|
|
||||||
gestionnaires: Gestionnaires
|
|
||||||
models:
|
|
||||||
groupe_gestionnaire:
|
|
||||||
one: Groupe d'administrateurs
|
|
||||||
other: Groupes d'administrateurs
|
|
|
@ -1,4 +1,4 @@
|
||||||
fr:
|
fr:
|
||||||
groupe_gestionnaire_mailer:
|
groupe_gestionnaire_mailer:
|
||||||
notify_added_gestionnaires:
|
notify_added_gestionnaires:
|
||||||
email_body: "Vous venez d’être nommé gestionnaire du groupe %{groupe_gestionnaire_name} sur %{application_name} par « %{email} »."
|
email_body: "Vous venez d’être nommé gestionnaire du groupe gestionnaire %{groupe_gestionnaire_name} sur %{application_name} par « %{email} »."
|
||||||
|
|
|
@ -10,7 +10,7 @@ RSpec.describe GroupeGestionnaireMailer, type: :mailer do
|
||||||
|
|
||||||
before { gestionnaires_to_add.each { groupe_gestionnaire.add(_1) } }
|
before { gestionnaires_to_add.each { groupe_gestionnaire.add(_1) } }
|
||||||
|
|
||||||
it { expect(subject.body).to include('Vous venez d’être nommé gestionnaire du groupe') }
|
it { expect(subject.body).to include('Vous venez d’être nommé gestionnaire du groupe gestionnaire') }
|
||||||
it { expect(subject.bcc).to match_array(['int3@g', 'int4@g']) }
|
it { expect(subject.bcc).to match_array(['int3@g', 'int4@g']) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,4 +2,79 @@ describe Gestionnaire, type: :model do
|
||||||
describe 'associations' do
|
describe 'associations' do
|
||||||
it { is_expected.to have_and_belong_to_many(:groupe_gestionnaires) }
|
it { is_expected.to have_and_belong_to_many(:groupe_gestionnaires) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#can_be_deleted?" do
|
||||||
|
subject { gestionnaire.can_be_deleted? }
|
||||||
|
|
||||||
|
context "when there are several gestionnaires in the groupe gestionnaire" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
let!(:autre_gestionnaire) { create(:gestionnaire) }
|
||||||
|
let!(:groupe_gestionnaire) { create(:groupe_gestionnaire, gestionnaires: [gestionnaire, autre_gestionnaire]) }
|
||||||
|
|
||||||
|
it { is_expected.to be true }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when only one gestionnaire in the groupe gestionnaire" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
let!(:groupe_gestionnaire) { create(:groupe_gestionnaire, gestionnaires: [gestionnaire]) }
|
||||||
|
|
||||||
|
it { is_expected.to be false }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when the gestionnaire has no groupe gestionnaire" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it { is_expected.to be true }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#registration_state" do
|
||||||
|
subject { gestionnaire.registration_state }
|
||||||
|
|
||||||
|
context "when active" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
before { gestionnaire.user.update(last_sign_in_at: Time.zone.now) }
|
||||||
|
|
||||||
|
it { is_expected.to eq 'Actif' }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when pending" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
before { gestionnaire.user.update(reset_password_sent_at: Time.zone.now) }
|
||||||
|
|
||||||
|
it { is_expected.to eq 'En attente' }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when expired" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it { is_expected.to eq 'Expiré' }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#by_email" do
|
||||||
|
context "returns gestionnaire" do
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it { expect(Gestionnaire.by_email(gestionnaire.email)).to eq gestionnaire }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#find_all_by_identifier" do
|
||||||
|
context "find gestionnaire by email " do
|
||||||
|
subject { Gestionnaire.find_all_by_identifier(emails: [gestionnaire.email]) }
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it { is_expected.to eq [gestionnaire] }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "find gestionnaire by id " do
|
||||||
|
subject { Gestionnaire.find_all_by_identifier(ids: [gestionnaire.id]) }
|
||||||
|
let!(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it { is_expected.to eq [gestionnaire] }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,4 +5,36 @@ describe GroupeGestionnaire, type: :model do
|
||||||
it { is_expected.to have_many(:administrateurs) }
|
it { is_expected.to have_many(:administrateurs) }
|
||||||
it { is_expected.to have_and_belong_to_many(:gestionnaires) }
|
it { is_expected.to have_and_belong_to_many(:gestionnaires) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#add" do
|
||||||
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
||||||
|
let(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
subject { groupe_gestionnaire.add(gestionnaire) }
|
||||||
|
|
||||||
|
it 'adds the gestionnaire to the groupe gestionnaire' do
|
||||||
|
subject
|
||||||
|
expect(groupe_gestionnaire.reload.gestionnaires).to include(gestionnaire)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#add_gestionnaires" do
|
||||||
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
||||||
|
let(:gestionnaire) { create(:gestionnaire) }
|
||||||
|
|
||||||
|
it 'adds the gestionnaire by id' do
|
||||||
|
groupe_gestionnaire.add_gestionnaires(ids: [gestionnaire.id])
|
||||||
|
expect(groupe_gestionnaire.reload.gestionnaires).to include(gestionnaire)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'adds the existing gestionnaire by email' do
|
||||||
|
groupe_gestionnaire.add_gestionnaires(emails: [gestionnaire.email])
|
||||||
|
expect(groupe_gestionnaire.reload.gestionnaires).to include(gestionnaire)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'adds the new gestionnaire by email' do
|
||||||
|
groupe_gestionnaire.add_gestionnaires(emails: ['new_gestionnaire@ds.fr'])
|
||||||
|
expect(groupe_gestionnaire.reload.gestionnaires.last.email).to eq('new_gestionnaire@ds.fr')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue