2023-09-04 12:07:04 +02:00
|
|
|
|
RSpec.describe GroupeGestionnaireMailer, type: :mailer do
|
2023-08-29 19:08:27 +02:00
|
|
|
|
describe '#notify_removed_gestionnaire' do
|
|
|
|
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
|
|
|
|
|
2024-02-19 14:35:54 +01:00
|
|
|
|
let(:gestionnaire_to_remove) { create(:gestionnaire, email: 'int3@g.fr') }
|
2023-08-29 19:08:27 +02:00
|
|
|
|
|
|
|
|
|
let(:current_super_admin_email) { 'toto@email.com' }
|
|
|
|
|
|
2023-10-06 17:12:00 +02:00
|
|
|
|
subject { described_class.notify_removed_gestionnaire(groupe_gestionnaire, gestionnaire_to_remove.email, current_super_admin_email) }
|
2023-08-29 19:08:27 +02:00
|
|
|
|
|
2023-10-06 17:12:00 +02:00
|
|
|
|
it { expect(subject.body).to include('Vous venez d’être supprimé(e) du groupe gestionnaire') }
|
2024-02-19 14:35:54 +01:00
|
|
|
|
it { expect(subject.to).to match_array(['int3@g.fr']) }
|
2023-08-29 19:08:27 +02:00
|
|
|
|
end
|
|
|
|
|
|
2023-09-04 12:07:04 +02:00
|
|
|
|
describe '#notify_added_gestionnaires' do
|
|
|
|
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
|
|
|
|
|
2024-02-19 14:35:54 +01:00
|
|
|
|
let(:gestionnaires_to_add) { [create(:gestionnaire, email: 'int3@g.fr'), create(:gestionnaire, email: 'int4@g.fr')] }
|
2023-09-04 12:07:04 +02:00
|
|
|
|
|
|
|
|
|
let(:current_super_admin_email) { 'toto@email.com' }
|
|
|
|
|
|
|
|
|
|
subject { described_class.notify_added_gestionnaires(groupe_gestionnaire, gestionnaires_to_add, current_super_admin_email) }
|
|
|
|
|
|
2023-10-06 17:12:00 +02:00
|
|
|
|
before { gestionnaires_to_add.each { groupe_gestionnaire.add_gestionnaire(_1) } }
|
2023-09-04 12:07:04 +02:00
|
|
|
|
|
2023-10-02 11:27:51 +02:00
|
|
|
|
it { expect(subject.body).to include('Vous venez d’être nommé gestionnaire du groupe gestionnaire') }
|
2024-02-19 14:35:54 +01:00
|
|
|
|
it { expect(subject.bcc).to match_array(['int3@g.fr', 'int4@g.fr']) }
|
2023-09-04 12:07:04 +02:00
|
|
|
|
end
|
2023-10-06 17:12:00 +02:00
|
|
|
|
|
|
|
|
|
describe '#notify_removed_administrateur' do
|
|
|
|
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
|
|
|
|
|
2024-02-19 14:35:54 +01:00
|
|
|
|
let(:administrateur_to_remove) { create(:administrateur, email: 'int3@g.fr') }
|
2023-10-06 17:12:00 +02:00
|
|
|
|
|
|
|
|
|
let(:current_super_admin_email) { 'toto@email.com' }
|
|
|
|
|
|
|
|
|
|
subject { described_class.notify_removed_administrateur(groupe_gestionnaire, administrateur_to_remove.email, current_super_admin_email) }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.body).to include('Vous venez d’être supprimé(e) du groupe gestionnaire') }
|
2024-02-19 14:35:54 +01:00
|
|
|
|
it { expect(subject.to).to match_array(['int3@g.fr']) }
|
2023-10-06 17:12:00 +02:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '#notify_added_administrateurs' do
|
|
|
|
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
|
|
|
|
|
2024-02-19 14:35:54 +01:00
|
|
|
|
let(:administrateurs_to_add) { [create(:administrateur, email: 'int3@g.fr'), create(:administrateur, email: 'int4@g.fr')] }
|
2023-10-06 17:12:00 +02:00
|
|
|
|
|
|
|
|
|
let(:current_super_admin_email) { 'toto@email.com' }
|
|
|
|
|
|
|
|
|
|
subject { described_class.notify_added_administrateurs(groupe_gestionnaire, administrateurs_to_add, current_super_admin_email) }
|
|
|
|
|
|
|
|
|
|
before { administrateurs_to_add.each { groupe_gestionnaire.add_administrateur(_1) } }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.body).to include('Vous venez d’être nommé administrateur du groupe gestionnaire') }
|
2024-02-19 14:35:54 +01:00
|
|
|
|
it { expect(subject.bcc).to match_array(['int3@g.fr', 'int4@g.fr']) }
|
2023-10-06 17:12:00 +02:00
|
|
|
|
end
|
2023-11-06 14:55:31 +01:00
|
|
|
|
|
|
|
|
|
describe '#notify_new_commentaire_groupe_gestionnaire' do
|
|
|
|
|
let(:groupe_gestionnaire) { create(:groupe_gestionnaire) }
|
|
|
|
|
|
2024-02-19 14:35:54 +01:00
|
|
|
|
let(:gestionnaire) { create(:gestionnaire, email: 'int3@g.fr') }
|
2023-11-06 14:55:31 +01:00
|
|
|
|
|
|
|
|
|
let(:admin) { create(:administrateur, email: 'toto@email.com') }
|
|
|
|
|
|
|
|
|
|
let(:commentaire) { create(:commentaire_groupe_gestionnaire, sender: admin) }
|
|
|
|
|
|
|
|
|
|
let(:commentaire_url) { gestionnaire_groupe_gestionnaire_commentaire_url(groupe_gestionnaire, commentaire) }
|
|
|
|
|
|
|
|
|
|
subject { described_class.notify_new_commentaire_groupe_gestionnaire(groupe_gestionnaire, commentaire, admin.email, gestionnaire.email, commentaire_url) }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.body).to include('Vous avez un nouveau message dans le groupe gestionnaire') }
|
2024-02-19 14:35:54 +01:00
|
|
|
|
it { expect(subject.to).to match_array(['int3@g.fr']) }
|
2023-11-06 14:55:31 +01:00
|
|
|
|
end
|
2023-09-04 12:07:04 +02:00
|
|
|
|
end
|