Merge pull request #74 from sgmap/dossier-clean

Dossier clean
This commit is contained in:
gregoirenovel 2017-04-11 11:47:09 +02:00 committed by GitHub
commit c5159dde4b
3 changed files with 55 additions and 16 deletions

View file

@ -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

View file

@ -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
{

View file

@ -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