From e5d0d7dda2f9b5d26f5a7009160cbfaa0f5a6c31 Mon Sep 17 00:00:00 2001 From: Christophe Robillard Date: Tue, 17 Oct 2023 13:24:41 +0200 Subject: [PATCH] get most fresh info for effectifs mensuels --- app/jobs/api_entreprise/effectifs_job.rb | 5 ++--- .../files/api_entreprise/effectifs.json | 19 +++++++++++++++---- .../jobs/api_entreprise/effectifs_job_spec.rb | 6 +++--- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/jobs/api_entreprise/effectifs_job.rb b/app/jobs/api_entreprise/effectifs_job.rb index feb21e10a..40bdc21a2 100644 --- a/app/jobs/api_entreprise/effectifs_job.rb +++ b/app/jobs/api_entreprise/effectifs_job.rb @@ -1,8 +1,7 @@ class APIEntreprise::EffectifsJob < APIEntreprise::Job def perform(etablissement_id, procedure_id) - find_etablissement(etablissement_id) - # may 2020 is at the moment the most actual info for effectifs endpoint - etablissement_params = APIEntreprise::EffectifsAdapter.new(etablissement.siret, procedure_id, "2020", "05").to_params + etablissement = Etablissement.find(etablissement_id) + etablissement_params = APIEntreprise::EffectifsAdapter.new(etablissement.siret, procedure_id, *get_current_valid_month_for_effectif).to_params etablissement.update!(etablissement_params) end diff --git a/spec/fixtures/files/api_entreprise/effectifs.json b/spec/fixtures/files/api_entreprise/effectifs.json index 133873115..33008006e 100644 --- a/spec/fixtures/files/api_entreprise/effectifs.json +++ b/spec/fixtures/files/api_entreprise/effectifs.json @@ -1,6 +1,17 @@ { - "siren": "418166096", - "annee": "2020", - "mois": "02", - "effectifs_mensuels": 100.5 + "data": { + "siret": "41816609600069", + "effectifs_mensuels": [ + { + "regime": "regime_general", + "value": 12.34, + "nature": "effectif_moyen_mensuel", + "annee": "2020", + "mois": "02", + "date_derniere_mise_a_jour": "2018-01-01" + } + ] + }, + "links": {}, + "meta": {} } diff --git a/spec/jobs/api_entreprise/effectifs_job_spec.rb b/spec/jobs/api_entreprise/effectifs_job_spec.rb index f0f7e7d23..bcb33a435 100644 --- a/spec/jobs/api_entreprise/effectifs_job_spec.rb +++ b/spec/jobs/api_entreprise/effectifs_job_spec.rb @@ -6,12 +6,12 @@ RSpec.describe APIEntreprise::EffectifsJob, type: :job do let(:procedure_id) { procedure.id } let(:now) { Time.zone.local(2020, 3, 12) } let(:annee) { "2020" } - let(:mois) { "05" } + let(:mois) { "02" } let(:body) { File.read('spec/fixtures/files/api_entreprise/effectifs.json') } let(:status) { 200 } before do - stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/effectifs_mensuels_acoss_covid\/#{annee}\/#{mois}\/entreprise\/#{siren}/) + stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v3\/gip_mds\/etablissements\/#{siret}\/effectifs_mensuels\/#{mois}\/annee\/#{annee}/) .to_return(body: body, status: status) allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false) end @@ -23,6 +23,6 @@ RSpec.describe APIEntreprise::EffectifsJob, type: :job do it 'updates etablissement' do subject - expect(Etablissement.find(etablissement.id).entreprise_effectif_mensuel).to eq(100.5) + expect(Etablissement.find(etablissement.id).entreprise_effectif_mensuel).to eq(12.34) end end