api_entreprise: use v3 in etablissement endpoint (#70610)
This commit is contained in:
parent
f710e0b198
commit
fc52f572f3
|
@ -355,7 +355,24 @@ class APIEntreprise(BaseResource):
|
|||
},
|
||||
)
|
||||
def etablissements(self, request, siret, **kwargs):
|
||||
return self.get('v2/etablissements/%s/' % siret, **kwargs)
|
||||
raw_data = self.get('v3/insee/sirene/etablissements/diffusibles/%s' % siret, raw=True, **kwargs)
|
||||
res = {}
|
||||
data = raw_data.get('data')
|
||||
naf = data.get('activite_principale', {}).get('code', '')
|
||||
libelle_naf = data.get('activite_principale', {}).get('libelle', '')
|
||||
data['naf'] = naf
|
||||
data['libelle_naf'] = libelle_naf
|
||||
data['date_creation_etablissement'] = data['date_creation']
|
||||
localite = data.get('adresse', {}).get('libelle_commune', '')
|
||||
code_insee_localite = data.get('adresse', {}).get('code_commune', '')
|
||||
data['adresse']['localite'] = localite
|
||||
data['adresse']['code_insee_localite'] = code_insee_localite
|
||||
data['commune_implantation'] = {'code': code_insee_localite, 'value': localite}
|
||||
data['tranche_effectif_salarie_etablissement'] = data.get('tranche_effectif_salarie', {})
|
||||
for i in range(1, 8):
|
||||
data['adresse']['l%s' % i] = data['adresse'].get('acheminement_postal', {}).get('l%s' % i)
|
||||
res['etablissement'] = data
|
||||
return {'data': res}
|
||||
|
||||
@endpoint(
|
||||
perm='can_access',
|
||||
|
|
|
@ -25,38 +25,41 @@ from passerelle.apps.api_entreprise.models import APIEntreprise
|
|||
from tests.utils import FakedResponse, make_resource
|
||||
|
||||
ETABLISSEMENTS_RESPONSE = {
|
||||
"etablissement": {
|
||||
"data": {
|
||||
"siege_social": True,
|
||||
"siret": "41816609600051",
|
||||
"naf": "6202A",
|
||||
"libelle_naf": "Conseil en systèmes et logiciels informatiques",
|
||||
"date_mise_a_jour": 1449183600,
|
||||
"tranche_effectif_salarie_etablissement": {
|
||||
"tranche_effectif_salarie": {
|
||||
"de": 200,
|
||||
"a": 249,
|
||||
"code": "31",
|
||||
"date_reference": "2014",
|
||||
"intitule": "200 à 249 salariés",
|
||||
},
|
||||
"date_creation_etablissement": 1108594800,
|
||||
"date_creation": 1108594800,
|
||||
"region_implantation": {"code": "11", "value": "Île-de-France"},
|
||||
"commune_implantation": {"code": "75108", "value": "PARIS 8"},
|
||||
"adresse": {
|
||||
"l1": "OCTO TECHNOLOGY",
|
||||
"l2": None,
|
||||
"l3": None,
|
||||
"l4": "50 AVENUE DES CHAMPS ELYSEES",
|
||||
"l5": None,
|
||||
"l6": "75008 PARIS",
|
||||
"l7": "FRANCE",
|
||||
"acheminement_postal": {
|
||||
"l1": "OCTO TECHNOLOGY",
|
||||
"l2": None,
|
||||
"l3": None,
|
||||
"l4": "50 AVENUE DES CHAMPS ELYSEES",
|
||||
"l5": None,
|
||||
"l6": "75008 PARIS",
|
||||
"l7": "FRANCE",
|
||||
},
|
||||
"numero_voie": "50",
|
||||
"type_voie": "AV",
|
||||
"nom_voie": "DES CHAMPS ELYSEES",
|
||||
"code_postal": "75008",
|
||||
"localite": "PARIS 8",
|
||||
"code_insee_localite": "75108",
|
||||
"libelle_commune": "PARIS 8",
|
||||
"code_commune": "75108",
|
||||
},
|
||||
"etat_administratif": {"value": "F", "date_fermeture": 1315173600},
|
||||
"activite_principale": {
|
||||
"code": "6202A",
|
||||
"libelle": "Conseil en systèmes et logiciels informatiques",
|
||||
},
|
||||
},
|
||||
"gateway_error": False,
|
||||
}
|
||||
|
@ -412,7 +415,8 @@ def test_entreprises_endpoint_include_private(app, resource):
|
|||
def test_etablissements_endpoint(app, resource):
|
||||
with responses.RequestsMock() as rsps:
|
||||
rsps.get(
|
||||
'https://entreprise.api.gouv.fr/v2/etablissements/44317013900036/', json=ETABLISSEMENTS_RESPONSE
|
||||
'https://entreprise.api.gouv.fr/v3/insee/sirene/etablissements/diffusibles/44317013900036',
|
||||
json=ETABLISSEMENTS_RESPONSE,
|
||||
)
|
||||
response = app.get('/api-entreprise/test/etablissements/44317013900036/', params=REQUEST_PARAMS)
|
||||
assert 'data' in response.json
|
||||
|
|
Loading…
Reference in New Issue