42 lines
1.1 KiB
Ruby
42 lines
1.1 KiB
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe NewGestionnaire::RecherchesController, type: :controller do
|
||
|
let(:dossier) { create(:dossier, :replied) }
|
||
|
let(:dossier2) { create(:dossier, :replied, procedure: dossier.procedure) }
|
||
|
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, :replied) }
|
||
|
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
|
||
|
end
|
||
|
end
|
||
|
end
|