diff --git a/app/lib/api_entreprise/exercices_adapter.rb b/app/lib/api_entreprise/exercices_adapter.rb index fe024456a..4a0db763e 100644 --- a/app/lib/api_entreprise/exercices_adapter.rb +++ b/app/lib/api_entreprise/exercices_adapter.rb @@ -1,11 +1,13 @@ class ApiEntreprise::ExercicesAdapter < ApiEntreprise::Adapter - def to_array + def to_params if data_source.present? - data_source[:exercices].map do |exercice| + exercices_array = data_source[:exercices].map do |exercice| exercice.slice(*attr_to_fetch) end + + { exercices_attributes: exercices_array } else - [] + {} end end diff --git a/app/services/siret_service.rb b/app/services/siret_service.rb index e0f6008c1..869039ea5 100644 --- a/app/services/siret_service.rb +++ b/app/services/siret_service.rb @@ -7,12 +7,12 @@ class SIRETService if etablissement_params.present? && entreprise_params.present? association_params = ApiEntreprise::RNAAdapter.new(siret, procedure_id).to_params - exercices_array = ApiEntreprise::ExercicesAdapter.new(siret, procedure_id).to_array + exercices_params = ApiEntreprise::ExercicesAdapter.new(siret, procedure_id).to_params params = etablissement_params .merge(entreprise_params.transform_keys { |k| "entreprise_#{k}" }) .merge(association_params.transform_keys { |k| "association_#{k}" }) - .merge(exercices_attributes: exercices_array) + .merge(exercices_params) # This is to fill legacy models and relationships if dossier.present? diff --git a/spec/lib/api_entreprise/exercices_adapter_spec.rb b/spec/lib/api_entreprise/exercices_adapter_spec.rb index 591a8e395..4feec27da 100644 --- a/spec/lib/api_entreprise/exercices_adapter_spec.rb +++ b/spec/lib/api_entreprise/exercices_adapter_spec.rb @@ -3,32 +3,32 @@ require 'spec_helper' describe ApiEntreprise::ExercicesAdapter do let(:siret) { '41816609600051' } let(:procedure_id) { 11 } - subject { described_class.new(siret, procedure_id).to_array } + subject { described_class.new(siret, procedure_id).to_params } before do stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/exercices\/.*token=/) .to_return(body: File.read('spec/support/files/exercices.json', status: 200)) end - it '#to_array class est un Array ?' do - expect(subject).to be_an_instance_of(Array) + it '#to_params class est un Hash ?' do + expect(subject).to be_an_instance_of(Hash) end it 'have 3 exercices' do - expect(subject.size).to eq(3) + expect(subject[:exercices_attributes].size).to eq(3) end context 'Attributs Exercices' do it 'L\'exercice contient bien un ca' do - expect(subject[0][:ca]).to eq('21009417') + expect(subject[:exercices_attributes][0][:ca]).to eq('21009417') end it 'L\'exercice contient bien une date de fin d\'exercice' do - expect(subject[0][:date_fin_exercice]).to eq("2013-12-31T00:00:00+01:00") + expect(subject[:exercices_attributes][0][:date_fin_exercice]).to eq("2013-12-31T00:00:00+01:00") end it 'L\'exercice contient bien une date_fin_exercice_timestamp' do - expect(subject[0][:date_fin_exercice_timestamp]).to eq(1388444400) + expect(subject[:exercices_attributes][0][:date_fin_exercice_timestamp]).to eq(1388444400) end end end