diff --git a/app/models/champs/rnf_champ.rb b/app/models/champs/rnf_champ.rb index 3b9a8fa7a..0dab98707 100644 --- a/app/models/champs/rnf_champ.rb +++ b/app/models/champs/rnf_champ.rb @@ -16,7 +16,7 @@ class Champs::RNFChamp < Champ end def update_with_external_data!(data:) - update!(data:, value_json: APIGeoService.parse_rnf_address(data[:address])) + update!(data:, value_json: extract_value_json(data:)) end def fetch_external_data? @@ -109,4 +109,11 @@ class Champs::RNFChamp < Champ address['label'] end end + + private + + def extract_value_json(data:) + h = APIGeoService.parse_rnf_address(data[:address]) + h.merge(title: data[:title]) + end end diff --git a/spec/models/champs/rnf_champ_spec.rb b/spec/models/champs/rnf_champ_spec.rb index fbca7072a..a55ffa2d6 100644 --- a/spec/models/champs/rnf_champ_spec.rb +++ b/spec/models/champs/rnf_champ_spec.rb @@ -102,18 +102,19 @@ describe Champs::RNFChamp, type: :model do describe 'update_with_external_data!' do it 'works' do value_json = { - :street_number => "16", - :street_name => "Rue du Général de Boissieu", - :street_address => "16 Rue du Général de Boissieu", - :postal_code => "75015", - :city_name => "Paris 15e Arrondissement", - :city_code => "75115", - :departement_code => "75", - :department_code => "75", - :departement_name => "Paris", - :department_name => "Paris", - :region_code => "11", - :region_name => "Île-de-France" + street_number: "16", + street_name: "Rue du Général de Boissieu", + street_address: "16 Rue du Général de Boissieu", + postal_code: "75015", + city_name: "Paris 15e Arrondissement", + city_code: "75115", + departement_code: "75", + department_code: "75", + departement_name: "Paris", + department_name: "Paris", + region_code: "11", + region_name: "Île-de-France", + title: "Fondation SFR" } expect(champ).to receive(:update!).with(data: anything, value_json:) champ.update_with_external_data!(data: subject.value!) diff --git a/spec/tasks/maintenance/populate_rnf_json_value_task_spec.rb b/spec/tasks/maintenance/populate_rnf_json_value_task_spec.rb index f74ed99a1..1d6b3f810 100644 --- a/spec/tasks/maintenance/populate_rnf_json_value_task_spec.rb +++ b/spec/tasks/maintenance/populate_rnf_json_value_task_spec.rb @@ -66,7 +66,8 @@ module Maintenance "departement_name" => "Paris", "department_name" => "Paris", "region_code" => "11", - "region_name" => "Île-de-France" + "region_name" => "Île-de-France", + "title" => "Fondation SFR" }) end end @@ -92,7 +93,8 @@ module Maintenance "departement_name" => "Paris", "department_name" => "Paris", "region_code" => "11", - "region_name" => "Île-de-France" + "region_name" => "Île-de-France", + "title" => "Fondation SFR" }) end end