fix: fixes after review
This commit is contained in:
parent
564c3c04fa
commit
e34307b50c
15 changed files with 302 additions and 230 deletions
|
@ -30,7 +30,7 @@ describe Gestionnaires::GroupeGestionnaireAdministrateursController, type: :cont
|
|||
groupe_gestionnaire.administrateurs << new_administrateur
|
||||
end
|
||||
|
||||
def remove_administrateur(administrateur)
|
||||
def destroy(administrateur)
|
||||
delete :destroy,
|
||||
params: {
|
||||
groupe_gestionnaire_id: groupe_gestionnaire.id,
|
||||
|
@ -39,11 +39,64 @@ describe Gestionnaires::GroupeGestionnaireAdministrateursController, type: :cont
|
|||
format: :turbo_stream
|
||||
end
|
||||
|
||||
context 'when there are many administrateurs' do
|
||||
before { remove_administrateur(new_administrateur) }
|
||||
context 'when administrateur is in the groupe_gestionnaire' do
|
||||
before { destroy(new_administrateur) }
|
||||
|
||||
it { expect(groupe_gestionnaire.reload.administrateurs.count).to eq(0) }
|
||||
it { expect(flash.notice).to eq("L'administrateur « #{new_administrateur.email} » a été supprimé.") }
|
||||
end
|
||||
|
||||
context 'when administrateur has some procedure' do
|
||||
let(:administrateur_with_procedure) { create(:administrateur) }
|
||||
let!(:procedure) { create(:procedure_with_dossiers, administrateur: administrateur_with_procedure) }
|
||||
before do
|
||||
groupe_gestionnaire.administrateurs << administrateur_with_procedure
|
||||
destroy(administrateur_with_procedure)
|
||||
end
|
||||
|
||||
it { expect(groupe_gestionnaire.reload.administrateurs.count).to eq(2) }
|
||||
it { expect(flash.alert).to eq("L'administrateur « #{administrateur_with_procedure.email} » ne peut pas être supprimé du groupe gestionnaire.") }
|
||||
end
|
||||
|
||||
context 'when administrateur is not in the groupe_gestionnaire' do
|
||||
let(:other_administrateur) { create(:administrateur) }
|
||||
before { destroy(other_administrateur) }
|
||||
|
||||
it { expect(groupe_gestionnaire.reload.administrateurs.count).to eq(1) }
|
||||
it { expect(flash.alert).to eq("L'administrateur « #{other_administrateur.email} » n’est pas dans le groupe gestionnaire.") }
|
||||
end
|
||||
end
|
||||
|
||||
describe '#remove' do
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
let(:new_administrateur) { create(:administrateur) }
|
||||
|
||||
before do
|
||||
groupe_gestionnaire.administrateurs << new_administrateur
|
||||
end
|
||||
|
||||
def remove(administrateur)
|
||||
delete :remove,
|
||||
params: {
|
||||
groupe_gestionnaire_id: groupe_gestionnaire.id,
|
||||
id: administrateur.id
|
||||
},
|
||||
format: :turbo_stream
|
||||
end
|
||||
|
||||
context 'when administrateur is in the groupe_gestionnaire' do
|
||||
before { remove(new_administrateur) }
|
||||
|
||||
it { expect(groupe_gestionnaire.reload.administrateurs.count).to eq(0) }
|
||||
it { expect(flash.notice).to eq("L'administrateur « #{new_administrateur.email} » a été retiré du groupe gestionnaire.") }
|
||||
end
|
||||
|
||||
context 'when administrateur is not in the groupe_gestionnaire' do
|
||||
let(:other_administrateur) { create(:administrateur) }
|
||||
before { remove(other_administrateur) }
|
||||
|
||||
it { expect(groupe_gestionnaire.reload.administrateurs.count).to eq(1) }
|
||||
it { expect(flash.alert).to eq("L'administrateur « #{other_administrateur.email} » n’est pas dans le groupe gestionnaire.") }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue