use api entreprise v3 for effectifs mensuels

This commit is contained in:
Christophe Robillard 2023-10-17 13:23:17 +02:00
parent 870efba29b
commit 81f78c62b4
3 changed files with 21 additions and 15 deletions

View file

@ -5,8 +5,8 @@ class APIEntreprise::API
TVA_NAME = "v3/european_commission/unites_legales/%{id}/numero_tva" TVA_NAME = "v3/european_commission/unites_legales/%{id}/numero_tva"
EXERCICES_RESOURCE_NAME = "v3/dgfip/etablissements/%{id}/chiffres_affaires" EXERCICES_RESOURCE_NAME = "v3/dgfip/etablissements/%{id}/chiffres_affaires"
RNA_RESOURCE_NAME = "v4/djepva/api-association/associations/open_data/%{id}" RNA_RESOURCE_NAME = "v4/djepva/api-association/associations/open_data/%{id}"
EFFECTIFS_RESOURCE_NAME = "v2/effectifs_mensuels_acoss_covid"
EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}" EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}"
EFFECTIFS_RESOURCE_NAME = "v3/gip_mds/etablissements/%{id}/effectifs_mensuels"
ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance" ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance"
ATTESTATION_FISCALE_RESOURCE_NAME = "v4/dgfip/unites_legales/%{id}/attestation_fiscale" ATTESTATION_FISCALE_RESOURCE_NAME = "v4/dgfip/unites_legales/%{id}/attestation_fiscale"
BILANS_BDF_RESOURCE_NAME = "v3/banque_de_france/unites_legales/%{id}/bilans" BILANS_BDF_RESOURCE_NAME = "v3/banque_de_france/unites_legales/%{id}/bilans"
@ -50,9 +50,9 @@ class APIEntreprise::API
call_with_siret(RNA_RESOURCE_NAME, siret) call_with_siret(RNA_RESOURCE_NAME, siret)
end end
def effectifs(siren, annee, mois) def effectifs(siret, annee, mois)
endpoint = [EFFECTIFS_RESOURCE_NAME, annee, mois, "entreprise", "%{id}"].join('/') endpoint = [EFFECTIFS_RESOURCE_NAME, mois, "annee", annee].join('/')
call_with_siret(endpoint, siren) call_with_siret(endpoint, siret)
end end
def effectifs_annuels(siren) def effectifs_annuels(siren)

View file

@ -9,18 +9,24 @@ class APIEntreprise::EffectifsAdapter < APIEntreprise::Adapter
private private
def get_resource def get_resource
api(@procedure_id).effectifs(siren, @annee, @mois) api(@procedure_id).effectifs(@siret, @annee, @mois)
end end
def process_params def process_params
if data_source[:effectifs_mensuels].present? data = data_source.fetch(:data, nil)
{ Sentry.with_scope do |scope|
entreprise_effectif_mensuel: data_source[:effectifs_mensuels], scope.set_tags(siret: @siret)
entreprise_effectif_mois: data_source[:mois], scope.set_extras(source: data)
entreprise_effectif_annee: data_source[:annee] effectifs = data&.fetch(:effectifs_mensuels, nil)&.first
} if effectifs.present?
else {
{} entreprise_effectif_mensuel: effectifs[:value],
entreprise_effectif_mois: effectifs[:mois],
entreprise_effectif_annee: effectifs[:annee]
}
else
{}
end
end end
end end
end end

View file

@ -9,7 +9,7 @@ describe APIEntreprise::EffectifsAdapter do
subject { adapter.to_params } subject { adapter.to_params }
before do 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) .to_return(body: body, status: status)
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false) allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)
end end
@ -23,7 +23,7 @@ describe APIEntreprise::EffectifsAdapter do
end end
it "renvoie les effectifs du mois demandé" do it "renvoie les effectifs du mois demandé" do
expect(subject[:entreprise_effectif_mensuel]).to eq(100.5) expect(subject[:entreprise_effectif_mensuel]).to eq(12.34)
end end
end end
end end