commit
c5159dde4b
3 changed files with 55 additions and 16 deletions
|
@ -210,19 +210,16 @@ class Dossier < ActiveRecord::Base
|
|||
def convert_specific_hash_values_to_string(hash_to_convert)
|
||||
hash = {}
|
||||
hash_to_convert.each do |key, value|
|
||||
value = value.to_s if !value.kind_of?(Time) && !value.nil?
|
||||
value = serialize_value_for_export(value)
|
||||
hash.store(key, value)
|
||||
end
|
||||
return hash
|
||||
end
|
||||
|
||||
def convert_specific_array_values_to_string(array_to_convert)
|
||||
array = []
|
||||
array_to_convert.each do |value|
|
||||
value = value.to_s if !value.kind_of?(Time) && !value.nil?
|
||||
array << value
|
||||
def full_data_strings_array
|
||||
data_with_champs.map do |value|
|
||||
serialize_value_for_export(value)
|
||||
end
|
||||
return array
|
||||
end
|
||||
|
||||
def export_entreprise_data
|
||||
|
@ -306,4 +303,8 @@ class Dossier < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def serialize_value_for_export(value)
|
||||
value.nil? || value.kind_of?(Time) ? value : value.to_s
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -135,7 +135,7 @@ class Procedure < ActiveRecord::Base
|
|||
|
||||
headers = exportable_dossiers.any? ? exportable_dossiers.first.export_headers : []
|
||||
data = exportable_dossiers.map do |dossier|
|
||||
dossier.convert_specific_array_values_to_string(dossier.data_with_champs)
|
||||
dossier.full_data_strings_array
|
||||
end
|
||||
|
||||
{
|
||||
|
|
|
@ -512,14 +512,6 @@ describe Dossier do
|
|||
it { expect(subject[:state]).to be_a(String) }
|
||||
end
|
||||
|
||||
describe '#convert_specific_array_values_to_string(array_to_convert)' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
|
||||
let(:dossier_data_with_champs) { dossier.data_with_champs }
|
||||
|
||||
subject { dossier.convert_specific_hash_values_to_string(dossier_data_with_champs) }
|
||||
end
|
||||
|
||||
describe '#export_entreprise_data' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure) }
|
||||
|
@ -624,6 +616,52 @@ describe Dossier do
|
|||
it { expect(subject[9]).to eq(dossier.followers_gestionnaires_emails) }
|
||||
it { expect(subject.count).to eq(DossierProcedureSerializer.new(dossier).attributes.count + dossier.procedure.types_de_champ.count + dossier.export_entreprise_data.count) }
|
||||
end
|
||||
|
||||
describe "#full_data_string" do
|
||||
let(:expected_string) {
|
||||
[
|
||||
dossier.id.to_s,
|
||||
dossier.created_at,
|
||||
dossier.updated_at,
|
||||
"false",
|
||||
"false",
|
||||
"draft",
|
||||
dossier.initiated_at,
|
||||
dossier.received_at,
|
||||
dossier.processed_at,
|
||||
gestionnaire.email,
|
||||
nil,
|
||||
"44011762001530",
|
||||
"true",
|
||||
"4950Z",
|
||||
"Transports par conduites",
|
||||
"GRTGAZ IMMEUBLE BORA 6 RUE RAOUL NORDLING 92270 BOIS COLOMBES",
|
||||
"6",
|
||||
"RUE",
|
||||
"RAOUL NORDLING",
|
||||
"IMMEUBLE BORA",
|
||||
"92270",
|
||||
"BOIS COLOMBES",
|
||||
"92009",
|
||||
"440117620",
|
||||
"537100000",
|
||||
"FR27440117620",
|
||||
"SA à conseil d'administration (s.a.i.)",
|
||||
"5599",
|
||||
"GRTGAZ",
|
||||
"GRTGAZ",
|
||||
"44011762001530",
|
||||
"51",
|
||||
dossier.entreprise.date_creation,
|
||||
nil,
|
||||
nil
|
||||
]
|
||||
}
|
||||
|
||||
subject { dossier }
|
||||
|
||||
it { expect(dossier.full_data_strings_array).to eq(expected_string)}
|
||||
end
|
||||
end
|
||||
|
||||
describe '#Dossier.to_csv' do
|
||||
|
|
Loading…
Add table
Reference in a new issue