shared_examples 'current_user_dossier_spec' do
  context 'when no dossier_id is filled' do
    it { expect { subject.current_user_dossier }.to raise_error ActiveRecord::RecordNotFound }
  end

  context 'when dossier_id is given as a param' do
    context 'when dossier id is valid' do
      it 'returns current user dossier' do
        expect(subject.current_user_dossier dossier.id).to eq(dossier)
      end
    end

    context 'when dossier id is incorrect' do
      it { expect { subject.current_user_dossier 666 }.to raise_error ActiveRecord::RecordNotFound }
    end
  end

  context 'when no params[] is given' do
    context 'when dossier id is valid' do
      before do
        subject.params[:dossier_id] = dossier.id
      end

      it 'returns current user dossier' do
        expect(subject.current_user_dossier).to eq(dossier)
      end
    end

    context 'when dossier id is incorrect' do
      it { expect { subject.current_user_dossier }.to raise_error ActiveRecord::RecordNotFound }
    end

    context 'when dossier_id is given as a param' do
      before do
        subject.params[:dossier_id] = 1
      end

      it 'returns dossier with the id on params past' do
        expect(subject.current_user_dossier dossier.id).to eq(dossier)
      end
    end
  end
end