gestionnaire invited on dossier for avis, can update Avis
This commit is contained in:
parent
f24e4a77d3
commit
f6359cb7aa
7 changed files with 86 additions and 1 deletions
|
@ -32,4 +32,38 @@ describe Backoffice::AvisController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#POST update' do
|
||||
let(:gestionnaire){ create(:gestionnaire) }
|
||||
let(:dossier){ create(:dossier, state: 'received') }
|
||||
let(:avis){ create(:avis, dossier: dossier, gestionnaire: gestionnaire )}
|
||||
|
||||
subject { post :update, params: { dossier_id: dossier.id, id: avis.id, avis: { answer: "Ok ce dossier est valide." } } }
|
||||
|
||||
context 'when gestionnaire is not authenticated' do
|
||||
it { is_expected.to redirect_to new_user_session_path }
|
||||
it { expect(avis.answer).to be_nil }
|
||||
end
|
||||
|
||||
context 'when gestionnaire is authenticated' do
|
||||
before do
|
||||
sign_in gestionnaire
|
||||
end
|
||||
|
||||
context 'and is invited on dossier' do
|
||||
it { is_expected.to redirect_to backoffice_dossier_path(dossier.id) }
|
||||
it do
|
||||
subject
|
||||
expect(avis.reload.answer).to eq("Ok ce dossier est valide.")
|
||||
end
|
||||
end
|
||||
|
||||
context 'but is not invited on dossier' do
|
||||
let(:gestionnaire2) { create(:gestionnaire) }
|
||||
let(:avis){ create(:avis, dossier: dossier, gestionnaire: gestionnaire2 )}
|
||||
|
||||
it { expect{ subject }.to raise_error(ActiveRecord::RecordNotFound) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -109,6 +109,25 @@ describe Backoffice::DossiersController, type: :controller do
|
|||
|
||||
it { expect(subject).to redirect_to('/backoffice') }
|
||||
end
|
||||
|
||||
describe 'he can invite somebody for avis' do
|
||||
render_views
|
||||
|
||||
it { expect(subject.body).to include("Invitez une personne externe à consulter le dossier et à vous donner un avis sur celui ci.") }
|
||||
end
|
||||
|
||||
context 'and is invited on a dossier' do
|
||||
let(:dossier_invited){ create(:dossier, procedure: create(:procedure)) }
|
||||
let!(:avis){ create(:avis, dossier: dossier_invited, gestionnaire: gestionnaire) }
|
||||
|
||||
subject { get :show, params: { id: dossier_invited.id } }
|
||||
|
||||
render_views
|
||||
|
||||
it { expect(subject.status).to eq(200) }
|
||||
it { expect(subject.body).to include("Votre avis est sollicité sur le dossier") }
|
||||
it { expect(subject.body).to_not include("Invitez une personne externe à consulter le dossier et à vous donner un avis sur celui ci.") }
|
||||
end
|
||||
end
|
||||
|
||||
context 'gestionnaire does not connected but dossier id is correct' do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue