Add identité demandeur for entreprise on dossier detail page
This commit is contained in:
parent
1c7d9eaa69
commit
f9f313e990
8 changed files with 139 additions and 46 deletions
|
@ -3,14 +3,16 @@ require 'spec_helper'
|
|||
describe NewGestionnaire::DossiersController, type: :controller do
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
let(:procedure) { create(:procedure, gestionnaires: [gestionnaire]) }
|
||||
let(:dossier) { create(:dossier, procedure: procedure) }
|
||||
|
||||
before { sign_in(gestionnaire) }
|
||||
let(:dossier) { create(:dossier, :replied, procedure: procedure) }
|
||||
|
||||
describe 'attestation' do
|
||||
before { sign_in(gestionnaire) }
|
||||
|
||||
context 'when a dossier has an attestation' do
|
||||
let(:fake_pdf) { double(read: 'pdf content') }
|
||||
let!(:dossier) { create(:dossier, attestation: Attestation.new, procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, :replied, attestation: Attestation.new, procedure: procedure) }
|
||||
let!(:procedure) { create(:procedure, gestionnaires: [gestionnaire]) }
|
||||
let!(:dossier) { create(:dossier, :replied, attestation: Attestation.new, procedure: procedure) }
|
||||
|
||||
it 'returns the attestation pdf' do
|
||||
allow_any_instance_of(Attestation).to receive(:pdf).and_return(fake_pdf)
|
||||
|
@ -26,42 +28,73 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'follow' do
|
||||
before { patch :follow, params: { procedure_id: procedure.id, dossier_id: dossier.id } }
|
||||
context "when gestionnaire is signed in" do
|
||||
before { sign_in(gestionnaire) }
|
||||
|
||||
it { expect(gestionnaire.followed_dossiers).to match([dossier]) }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
|
||||
describe 'unfollow' do
|
||||
before do
|
||||
gestionnaire.followed_dossiers << dossier
|
||||
patch :unfollow, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
gestionnaire.reload
|
||||
describe 'follow' do
|
||||
before { patch :follow, params: { procedure_id: procedure.id, dossier_id: dossier.id } }
|
||||
|
||||
it { expect(gestionnaire.followed_dossiers).to match([dossier]) }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
|
||||
it { expect(gestionnaire.followed_dossiers).to match([]) }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
describe 'unfollow' do
|
||||
before do
|
||||
gestionnaire.followed_dossiers << dossier
|
||||
patch :unfollow, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
gestionnaire.reload
|
||||
end
|
||||
|
||||
describe 'archive' do
|
||||
before do
|
||||
patch :archive, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
dossier.reload
|
||||
it { expect(gestionnaire.followed_dossiers).to match([]) }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
|
||||
it { expect(dossier.archived).to be true }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
describe 'archive' do
|
||||
before do
|
||||
patch :archive, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
dossier.reload
|
||||
end
|
||||
|
||||
describe 'unarchive' do
|
||||
before do
|
||||
dossier.update_attributes(archived: true)
|
||||
patch :unarchive, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
dossier.reload
|
||||
it { expect(dossier.archived).to be true }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
|
||||
it { expect(dossier.archived).to be false }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
describe 'unarchive' do
|
||||
before do
|
||||
dossier.update_attributes(archived: true)
|
||||
patch :unarchive, params: { procedure_id: procedure.id, dossier_id: dossier.id }
|
||||
dossier.reload
|
||||
end
|
||||
|
||||
it { expect(dossier.archived).to be false }
|
||||
it { expect(response).to redirect_to(procedures_url) }
|
||||
end
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
let(:procedure) { create(:procedure, gestionnaires: [gestionnaire]) }
|
||||
let(:dossier){ create(:dossier, :replied, procedure: procedure) }
|
||||
|
||||
subject { get :show, params: { procedure_id: procedure.id, dossier_id: dossier.id } }
|
||||
|
||||
context "when gestionnaire is not logged in" do
|
||||
before { subject }
|
||||
it { expect(response).to redirect_to(new_user_session_path) }
|
||||
end
|
||||
|
||||
context "when gestionnaire is logged in" do
|
||||
before { sign_in(gestionnaire) }
|
||||
|
||||
it do
|
||||
subject
|
||||
expect(response).to have_http_status(:success)
|
||||
end
|
||||
|
||||
context "when gestionnaire is not affected on procedure" do
|
||||
let(:dossier){ create(:dossier, :replied) }
|
||||
it { expect{ subject }.to raise_error(ActiveRecord::RecordNotFound) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue