44 lines
1.5 KiB
Ruby
44 lines
1.5 KiB
Ruby
describe DossierLinkHelper do
|
|
describe "#dossier_linked_path" do
|
|
context "when no access as a instructeur" do
|
|
let(:instructeur) { create(:instructeur) }
|
|
let(:dossier) { create(:dossier) }
|
|
|
|
it { expect(helper.dossier_linked_path(instructeur, dossier)).to be_nil }
|
|
end
|
|
|
|
context "when no access as a user" do
|
|
let(:user) { create(:user) }
|
|
let(:dossier) { create(:dossier) }
|
|
|
|
it { expect(helper.dossier_linked_path(user, dossier)).to be_nil }
|
|
end
|
|
|
|
context "when access as instructeur" do
|
|
let(:procedure) { create(:procedure, :routee) }
|
|
let(:dossier) { create(:dossier, groupe_instructeur: procedure.groupe_instructeurs.last) }
|
|
let(:instructeur) { create(:instructeur) }
|
|
|
|
before { procedure.groupe_instructeurs.last.instructeurs << instructeur }
|
|
|
|
it { expect(helper.dossier_linked_path(instructeur, dossier)).to eq(instructeur_dossier_path(dossier.procedure, dossier)) }
|
|
end
|
|
|
|
context "when access as expert" do
|
|
let(:dossier) { create(:dossier) }
|
|
let(:instructeur) { create(:instructeur) }
|
|
let!(:avis) { create(:avis, dossier: dossier, instructeur: instructeur) }
|
|
|
|
it { expect(helper.dossier_linked_path(instructeur, dossier)).to eq(instructeur_avis_path(avis.dossier.procedure, avis)) }
|
|
end
|
|
|
|
context "when access as user" do
|
|
let(:dossier) { create(:dossier) }
|
|
let(:user) { create(:user) }
|
|
|
|
before { dossier.user = user }
|
|
|
|
it { expect(helper.dossier_linked_path(user, dossier)).to eq(dossier_path(dossier)) }
|
|
end
|
|
end
|
|
end
|