demarches-normaliennes/spec/controllers/new_gestionnaire/recherche_controller_spec.rb

53 lines
1.4 KiB
Ruby
Raw Normal View History

2017-07-31 11:58:52 +02:00
require 'spec_helper'
2017-11-22 09:56:36 +01:00
describe NewGestionnaire::RechercheController, type: :controller do
let(:dossier) { create(:dossier, :en_construction) }
let(:dossier2) { create(:dossier, :en_construction, procedure: dossier.procedure) }
2017-07-31 11:58:52 +02:00
let(:gestionnaire) { create(:gestionnaire) }
before { gestionnaire.procedures << dossier2.procedure }
describe 'GET #index' do
before { sign_in gestionnaire }
subject { get :index, params: { q: query } }
describe 'by id' do
context 'when gestionnaire own the dossier' do
let(:query) { dossier.id }
it { is_expected.to have_http_status(200) }
it 'returns the expected dossier' do
subject
expect(assigns(:dossiers).count).to eq(1)
expect(assigns(:dossiers).first.id).to eq(dossier.id)
end
end
context 'when gestionnaire do not own the dossier' do
let(:dossier3) { create(:dossier, :en_construction) }
2017-07-31 11:58:52 +02:00
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
2017-07-31 11:58:52 +02:00
end
end
end