Fix csv export with no dossiers
This commit is contained in:
parent
33d033d680
commit
080c7c3d04
2 changed files with 8 additions and 7 deletions
|
@ -134,9 +134,7 @@ class Procedure < ActiveRecord::Base
|
||||||
exportable_dossiers = dossiers.downloadable
|
exportable_dossiers = dossiers.downloadable
|
||||||
|
|
||||||
headers = exportable_dossiers.any? ? exportable_dossiers.first.export_headers : []
|
headers = exportable_dossiers.any? ? exportable_dossiers.first.export_headers : []
|
||||||
data = exportable_dossiers.map do |dossier|
|
data = exportable_dossiers.any? ? exportable_dossiers.map { |d| d.full_data_strings_array } : [[]]
|
||||||
dossier.full_data_strings_array
|
|
||||||
end
|
|
||||||
|
|
||||||
{
|
{
|
||||||
headers: headers,
|
headers: headers,
|
||||||
|
|
|
@ -261,11 +261,15 @@ describe Procedure do
|
||||||
let(:procedure) { create :procedure }
|
let(:procedure) { create :procedure }
|
||||||
subject { procedure.generate_export }
|
subject { procedure.generate_export }
|
||||||
|
|
||||||
context 'when there are no dossiers' do
|
shared_examples "export is empty" do
|
||||||
it { expect(subject[:data]).to eq([]) }
|
it { expect(subject[:data]).to eq([[]]) }
|
||||||
it { expect(subject[:headers]).to eq([]) }
|
it { expect(subject[:headers]).to eq([]) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when there are no dossiers' do
|
||||||
|
it_behaves_like "export is empty"
|
||||||
|
end
|
||||||
|
|
||||||
context 'when there are some dossiers' do
|
context 'when there are some dossiers' do
|
||||||
let!(:dossier){ create(:dossier, procedure: procedure, state: 'initiated') }
|
let!(:dossier){ create(:dossier, procedure: procedure, state: 'initiated') }
|
||||||
let!(:dossier2){ create(:dossier, procedure: procedure, state: 'closed') }
|
let!(:dossier2){ create(:dossier, procedure: procedure, state: 'closed') }
|
||||||
|
@ -277,8 +281,7 @@ describe Procedure do
|
||||||
context 'when there is a draft dossier' do
|
context 'when there is a draft dossier' do
|
||||||
let!(:dossier_not_exportable){ create(:dossier, procedure: procedure, state: 'draft') }
|
let!(:dossier_not_exportable){ create(:dossier, procedure: procedure, state: 'draft') }
|
||||||
|
|
||||||
it { expect(subject[:data]).to eq([]) }
|
it_behaves_like "export is empty"
|
||||||
it { expect(subject[:headers]).to eq([]) }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue