amelioration(email_usagers): autorise uniquement les instructeurs présent dans tous les groupes d'instructeur a envoyer un message de masse aux usagers ayant un dossier en brouillon
This commit is contained in:
parent
05687e63ca
commit
fc3a5496eb
2 changed files with 24 additions and 4 deletions
|
@ -39,10 +39,10 @@ module ProcedureHelper
|
|||
end
|
||||
|
||||
def can_send_groupe_message?(procedure)
|
||||
procedure.dossiers
|
||||
.state_brouillon
|
||||
.includes(:groupe_instructeur)
|
||||
.exists?(groupe_instructeur: current_instructeur.groupe_instructeurs)
|
||||
total_groupe_instructeur_on_procedure = procedure.groupe_instructeurs.active.count
|
||||
total_groupe_instructeur_on_instructeur = current_instructeur.groupe_instructeurs.active.where(procedure: procedure).count
|
||||
|
||||
total_groupe_instructeur_on_procedure == total_groupe_instructeur_on_instructeur
|
||||
end
|
||||
|
||||
def url_or_email_to_lien_dpo(procedure)
|
||||
|
|
|
@ -10,6 +10,26 @@ RSpec.describe ProcedureHelper, type: :helper do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'can_send_groupe_message?' do
|
||||
let(:procedure) { create(:procedure, groupe_instructeurs: [gi1, gi2]) }
|
||||
let(:current_instructeur) { create(:instructeur) }
|
||||
subject { can_send_groupe_message?(procedure) }
|
||||
|
||||
context 'when current_instructeur is in all procedure.groupes_instructeur' do
|
||||
let(:gi1) { create(:groupe_instructeur, instructeurs: [current_instructeur]) }
|
||||
let(:gi2) { create(:groupe_instructeur, instructeurs: [current_instructeur]) }
|
||||
it { is_expected.to be_truthy }
|
||||
end
|
||||
|
||||
context 'when current_instructeur is in all procedure.groupes_instructeur' do
|
||||
let(:instructeur2) { create(:instructeur) }
|
||||
let(:gi1) { create(:groupe_instructeur, instructeurs: [current_instructeur]) }
|
||||
let(:gi2) { create(:groupe_instructeur, instructeurs: [instructeur2]) }
|
||||
|
||||
it { is_expected.to be_falsy }
|
||||
end
|
||||
end
|
||||
|
||||
describe '#estimated_fill_duration_minutes' do
|
||||
subject { estimated_fill_duration_minutes(procedure.reload) }
|
||||
|
||||
|
|
Loading…
Reference in a new issue