fix(api-entreprise): save libelle_commune_etranger and libelle_pays_etranger in db
This commit is contained in:
parent
58037f21cd
commit
f5fdef0600
8 changed files with 135 additions and 6 deletions
|
@ -25,7 +25,12 @@ class APIEntreprise::EtablissementAdapter < APIEntreprise::Adapter
|
||||||
params.merge!(params[:adresse].slice(*address_attr_to_fetch))
|
params.merge!(params[:adresse].slice(*address_attr_to_fetch))
|
||||||
params[:nom_voie] = raw_data[:adresse][:libelle_voie]
|
params[:nom_voie] = raw_data[:adresse][:libelle_voie]
|
||||||
params[:code_insee_localite] = raw_data[:adresse][:code_commune]
|
params[:code_insee_localite] = raw_data[:adresse][:code_commune]
|
||||||
params[:localite] = raw_data[:adresse][:libelle_commune]
|
if raw_data[:adresse][:libelle_pays_etranger].present?
|
||||||
|
params[:localite] = raw_data[:adresse][:libelle_commune_etranger]
|
||||||
|
params[:nom_pays] = raw_data[:adresse][:libelle_pays_etranger]
|
||||||
|
else
|
||||||
|
params[:localite] = raw_data[:adresse][:libelle_commune]
|
||||||
|
end
|
||||||
params[:adresse] = adresse_line
|
params[:adresse] = adresse_line
|
||||||
params
|
params
|
||||||
else
|
else
|
||||||
|
|
|
@ -52,7 +52,8 @@ class Etablissement < ApplicationRecord
|
||||||
adresse,
|
adresse,
|
||||||
code_postal,
|
code_postal,
|
||||||
localite,
|
localite,
|
||||||
code_insee_localite
|
code_insee_localite,
|
||||||
|
nom_pays
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddNomPaysToEtablissements < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
add_column :etablissements, :nom_pays, :string
|
||||||
|
end
|
||||||
|
end
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.0].define(version: 2024_08_30_125438) do
|
ActiveRecord::Schema[7.0].define(version: 2024_09_13_150318) do
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "pg_buffercache"
|
enable_extension "pg_buffercache"
|
||||||
enable_extension "pg_stat_statements"
|
enable_extension "pg_stat_statements"
|
||||||
|
@ -570,6 +570,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_08_30_125438) do
|
||||||
t.string "libelle_naf"
|
t.string "libelle_naf"
|
||||||
t.string "localite"
|
t.string "localite"
|
||||||
t.string "naf"
|
t.string "naf"
|
||||||
|
t.string "nom_pays"
|
||||||
t.string "nom_voie"
|
t.string "nom_voie"
|
||||||
t.string "numero_voie"
|
t.string "numero_voie"
|
||||||
t.boolean "siege_social"
|
t.boolean "siege_social"
|
||||||
|
|
99
spec/fixtures/files/api_entreprise/etablissements-uk.json
vendored
Normal file
99
spec/fixtures/files/api_entreprise/etablissements-uk.json
vendored
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"siret": "30613890001294",
|
||||||
|
"siege_social": true,
|
||||||
|
"etat_administratif": "A",
|
||||||
|
"date_fermeture": 1634133818,
|
||||||
|
"activite_principale": {
|
||||||
|
"code": "8411Z",
|
||||||
|
"libelle": "Administration publique générale",
|
||||||
|
"nomenclature": "NAFRev2"
|
||||||
|
},
|
||||||
|
"tranche_effectif_salarie": {
|
||||||
|
"code": "51",
|
||||||
|
"intitule": "2 000 à 4 999 salariés",
|
||||||
|
"date_reference": "2016",
|
||||||
|
"de": 2000,
|
||||||
|
"a": 4999
|
||||||
|
},
|
||||||
|
"status_diffusion": "diffusible",
|
||||||
|
"diffusable_commercialement": true,
|
||||||
|
"enseigne": "Coiff Land, CoiffureLand",
|
||||||
|
"unite_legale": {
|
||||||
|
"siren": "130025265",
|
||||||
|
"siret_siege_social": "13002526500013",
|
||||||
|
"type": "personne_morale",
|
||||||
|
"personne_morale_attributs": {
|
||||||
|
"raison_sociale": "DIRECTION INTERMINISTERIELLE DU NUMERIQUE",
|
||||||
|
"sigle": "DINUM"
|
||||||
|
},
|
||||||
|
"personne_physique_attributs": {
|
||||||
|
"pseudonyme": "DJ Falcon",
|
||||||
|
"prenom_usuel": "Jean",
|
||||||
|
"prenom_1": "Jean",
|
||||||
|
"prenom_2": "Jacques",
|
||||||
|
"prenom_3": "Pierre",
|
||||||
|
"prenom_4": "Paul",
|
||||||
|
"nom_usage": "Dupont",
|
||||||
|
"nom_naissance": "Martin",
|
||||||
|
"sexe": "M"
|
||||||
|
},
|
||||||
|
"categorie_entreprise": "GE",
|
||||||
|
"status_diffusion": "diffusible",
|
||||||
|
"diffusable_commercialement": true,
|
||||||
|
"forme_juridique": {
|
||||||
|
"code": "7120",
|
||||||
|
"libelle": "Service central d'un ministère"
|
||||||
|
},
|
||||||
|
"activite_principale": {
|
||||||
|
"code": "8411Z",
|
||||||
|
"libelle": "Administration publique générale",
|
||||||
|
"nomenclature": "NAFRev2"
|
||||||
|
},
|
||||||
|
"tranche_effectif_salarie": {
|
||||||
|
"code": "51",
|
||||||
|
"intitule": "2 000 à 4 999 salariés",
|
||||||
|
"date_reference": "2016",
|
||||||
|
"de": 2000,
|
||||||
|
"a": 4999
|
||||||
|
},
|
||||||
|
"etat_administratif": "A",
|
||||||
|
"economie_sociale_et_solidaire": true,
|
||||||
|
"date_creation": 1634103818
|
||||||
|
},
|
||||||
|
"adresse": {
|
||||||
|
"numero_voie": "22",
|
||||||
|
"indice_repetition_voie": "bis",
|
||||||
|
"type_voie": "RUE",
|
||||||
|
"libelle_voie": "DE LA PAIX",
|
||||||
|
"complement_adresse": "ZAE SAINT GUENAULT",
|
||||||
|
"code_commune": "75112",
|
||||||
|
"code_postal": "75016",
|
||||||
|
"distribution_speciale": "string",
|
||||||
|
"code_cedex": "75590",
|
||||||
|
"libelle_cedex": "PARIS CEDEX 12",
|
||||||
|
"libelle_commune": null,
|
||||||
|
"libelle_commune_etranger": "LONDRES",
|
||||||
|
"code_pays_etranger": "99132",
|
||||||
|
"libelle_pays_etranger": "ROYAUME-UNI",
|
||||||
|
"status_diffusion": "diffusible",
|
||||||
|
"acheminement_postal": {
|
||||||
|
"l1": "DIRECTION INTERMINISTERIELLE DU NUMERIQUE",
|
||||||
|
"l2": "JEAN MARIE DURAND",
|
||||||
|
"l3": "ZAE SAINT GUENAULT",
|
||||||
|
"l4": "51 BIS RUE DE LA PAIX",
|
||||||
|
"l5": "CS 72809",
|
||||||
|
"l6": "75256 PARIX CEDEX 12",
|
||||||
|
"l7": "FRANCE"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"date_creation": 1634103818
|
||||||
|
},
|
||||||
|
"links": {
|
||||||
|
"unite_legale": "https://entreprise.api.gouv.fr/api/v3/insee/unites_legales/130025265"
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"date_derniere_mise_a_jour": 1618396818,
|
||||||
|
"redirect_from_siret": "30613890000010"
|
||||||
|
}
|
||||||
|
}
|
|
@ -73,9 +73,9 @@
|
||||||
"code_cedex": "75590",
|
"code_cedex": "75590",
|
||||||
"libelle_cedex": "PARIS CEDEX 12",
|
"libelle_cedex": "PARIS CEDEX 12",
|
||||||
"libelle_commune": "PARIS 12",
|
"libelle_commune": "PARIS 12",
|
||||||
"libelle_commune_etranger": "string",
|
"libelle_commune_etranger": null,
|
||||||
"code_pays_etranger": "99132",
|
"code_pays_etranger": "99132",
|
||||||
"libelle_pays_etranger": "ROYAUME-UNI",
|
"libelle_pays_etranger": null,
|
||||||
"status_diffusion": "diffusible",
|
"status_diffusion": "diffusible",
|
||||||
"acheminement_postal": {
|
"acheminement_postal": {
|
||||||
"l1": "DIRECTION INTERMINISTERIELLE DU NUMERIQUE",
|
"l1": "DIRECTION INTERMINISTERIELLE DU NUMERIQUE",
|
||||||
|
|
|
@ -74,10 +74,26 @@ describe APIEntreprise::EtablissementAdapter do
|
||||||
expect(subject[:localite]).to eq('PARIS 12')
|
expect(subject[:localite]).to eq('PARIS 12')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'L\'entreprise ne contient pas de nom de pays' do
|
||||||
|
expect(subject[:nom_pays]).to be_nil
|
||||||
|
end
|
||||||
|
|
||||||
it 'L\'entreprise contient bien un code_insee_localite' do
|
it 'L\'entreprise contient bien un code_insee_localite' do
|
||||||
expect(subject[:code_insee_localite]).to eq('75112')
|
expect(subject[:code_insee_localite]).to eq('75112')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'Détails adresse étranger' do
|
||||||
|
let(:fixture) { 'spec/fixtures/files/api_entreprise/etablissements-uk.json' }
|
||||||
|
|
||||||
|
it 'L\'entreprise contient bien une localite' do
|
||||||
|
expect(subject[:localite]).to eq('LONDRES')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'L\'entreprise contient bien un nom de pays' do
|
||||||
|
expect(subject[:nom_pays]).to eq('ROYAUME-UNI')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Attributs Etablissements pour etablissement non siege' do
|
context 'Attributs Etablissements pour etablissement non siege' do
|
||||||
|
|
|
@ -443,7 +443,7 @@ describe Champ do
|
||||||
end
|
end
|
||||||
let(:champ) { Champs::SiretChamp.new(value: etablissement.siret, etablissement:) }
|
let(:champ) { Champs::SiretChamp.new(value: etablissement.siret, etablissement:) }
|
||||||
|
|
||||||
it { is_expected.to eq([etablissement.entreprise_siren, etablissement.entreprise_numero_tva_intracommunautaire, etablissement.entreprise_forme_juridique, etablissement.entreprise_forme_juridique_code, etablissement.entreprise_nom_commercial, etablissement.entreprise_raison_sociale, etablissement.entreprise_siret_siege_social, etablissement.entreprise_nom, etablissement.entreprise_prenom, etablissement.association_rna, etablissement.association_titre, etablissement.association_objet, etablissement.siret, etablissement.enseigne, etablissement.naf, etablissement.libelle_naf, etablissement.adresse, etablissement.code_postal, etablissement.localite, etablissement.code_insee_localite]) }
|
it { is_expected.to eq([etablissement.entreprise_siren, etablissement.entreprise_numero_tva_intracommunautaire, etablissement.entreprise_forme_juridique, etablissement.entreprise_forme_juridique_code, etablissement.entreprise_nom_commercial, etablissement.entreprise_raison_sociale, etablissement.entreprise_siret_siege_social, etablissement.entreprise_nom, etablissement.entreprise_prenom, etablissement.association_rna, etablissement.association_titre, etablissement.association_objet, etablissement.siret, etablissement.enseigne, etablissement.naf, etablissement.libelle_naf, etablissement.adresse, etablissement.code_postal, etablissement.localite, etablissement.code_insee_localite, nil]) }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when there is no etablissement' do
|
context 'when there is no etablissement' do
|
||||||
|
|
Loading…
Reference in a new issue