tests
This commit is contained in:
parent
6a1ed2e02d
commit
468e9e849a
2 changed files with 13 additions and 6 deletions
68
spec/controllers/recherche_controller_spec.rb
Normal file
68
spec/controllers/recherche_controller_spec.rb
Normal file
|
@ -0,0 +1,68 @@
|
|||
describe RechercheController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :en_construction) }
|
||||
let(:dossier2) { create(:dossier, :en_construction, procedure: dossier.procedure) }
|
||||
let(:instructeur) { create(:instructeur) }
|
||||
|
||||
before do
|
||||
#instructeur.groupe_instructeurs << dossier2.procedure.defaut_groupe_instructeur
|
||||
instructeur.groupe_instructeurs << dossier.procedure.defaut_groupe_instructeur
|
||||
end
|
||||
|
||||
describe 'GET #index' do
|
||||
before { sign_in(instructeur.user) }
|
||||
|
||||
subject { get :index, params: { q: query } }
|
||||
|
||||
describe 'by id' do
|
||||
context 'when instructeur own the dossier' do
|
||||
|
||||
before do
|
||||
subject
|
||||
end
|
||||
|
||||
let(:query) { dossier.id }
|
||||
|
||||
it { is_expected.to have_http_status(200) }
|
||||
|
||||
it 'returns the expected dossier' do
|
||||
expect(assigns(:dossiers).count).to eq(1)
|
||||
expect(assigns(:dossiers).first.id).to eq(dossier.id)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when instructeur do not own the dossier' do
|
||||
let(:dossier3) { create(:dossier, :en_construction) }
|
||||
let(:query) { dossier3.id }
|
||||
|
||||
it { is_expected.to have_http_status(200) }
|
||||
|
||||
it 'does not return the dossier' do
|
||||
subject
|
||||
expect(assigns(:dossiers).count).to eq(0)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with an id out of range' do
|
||||
let(:query) { 123456789876543234567 }
|
||||
|
||||
it { is_expected.to have_http_status(200) }
|
||||
|
||||
it 'does not return the dossier' do
|
||||
subject
|
||||
expect(assigns(:dossiers).count).to eq(0)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'with no query param it does not crash' do
|
||||
subject { get :index, params: {} }
|
||||
|
||||
it { is_expected.to have_http_status(200) }
|
||||
|
||||
it 'returns 0 dossier' do
|
||||
subject
|
||||
expect(assigns(:dossiers).count).to eq(0)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue