Admin should be owner of procedure to hide it

This commit is contained in:
Mathieu Magnin 2017-07-20 14:44:54 +02:00
parent e468612d95
commit 1d0734dda2
2 changed files with 22 additions and 1 deletions

View file

@ -43,7 +43,7 @@ class Admin::ProceduresController < AdminController
end
def hide
procedure = Procedure.find(params[:id])
procedure = current_administrateur.procedures.find(params[:id])
procedure.hide!
flash.notice = "Procédure supprimée, en cas d'erreur contactez nous : contact@tps.apientreprise.fr"

View file

@ -535,4 +535,25 @@ describe Admin::ProceduresController, type: :controller do
end
end
end
describe "POST hide" do
subject { post :hide, params: { id: procedure.id } }
context "when procedure is not owned by administrateur" do
let!(:procedure) { create :procedure, administrateur: create(:administrateur) }
it { expect{ subject }.to raise_error(ActiveRecord::RecordNotFound) }
end
context "when procedure is owned by administrateur" do
let!(:procedure) { create :procedure, administrateur: admin }
before do
subject
procedure.reload
end
it { expect(procedure.hidden_at).to_not eq nil }
end
end
end