From 70983c50f973eeff0f90fccbe3631392d96f5193 Mon Sep 17 00:00:00 2001 From: mfo Date: Thu, 22 Aug 2024 10:18:50 +0200 Subject: [PATCH] spec(normalized_address): add simple spec --- app/models/address_proxy.rb | 2 +- spec/factories/champ.rb | 1 + .../populate_siret_value_json_task_spec.rb | 2 +- .../_normalized_address.html.haml_spec.rb | 31 +++++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 spec/views/shared/dossiers/_normalized_address.html.haml_spec.rb diff --git a/app/models/address_proxy.rb b/app/models/address_proxy.rb index 13eebd2e6..0a2fb3392 100644 --- a/app/models/address_proxy.rb +++ b/app/models/address_proxy.rb @@ -41,7 +41,7 @@ class AddressProxy delegate(*ADDRESS_PARTS, to: :@presenter) - def initialize(champs_or_etablissement) + def initialize(champ_or_etablissement) @presenter = make(champ_or_etablissement) end diff --git a/spec/factories/champ.rb b/spec/factories/champ.rb index 6bb952dfb..f88e13a67 100644 --- a/spec/factories/champ.rb +++ b/spec/factories/champ.rb @@ -163,6 +163,7 @@ FactoryBot.define do factory :champ_do_not_use_siret, class: 'Champs::SiretChamp' do association :etablissement, factory: [:etablissement] value { '44011762001530' } + value_json { AddressProxy::ADDRESS_PARTS.index_by(&:itself) } end factory :champ_do_not_use_rna, class: 'Champs::RNAChamp' do diff --git a/spec/tasks/maintenance/populate_siret_value_json_task_spec.rb b/spec/tasks/maintenance/populate_siret_value_json_task_spec.rb index 4fca8f9ce..76759ed40 100644 --- a/spec/tasks/maintenance/populate_siret_value_json_task_spec.rb +++ b/spec/tasks/maintenance/populate_siret_value_json_task_spec.rb @@ -12,7 +12,7 @@ module Maintenance it 'updates value_json' do expect { subject }.to change { element.reload.value_json } - .from(nil) + .from(anything) .to({ "city_code" => "92009", "city_name" => "Bois-Colombes", diff --git a/spec/views/shared/dossiers/_normalized_address.html.haml_spec.rb b/spec/views/shared/dossiers/_normalized_address.html.haml_spec.rb new file mode 100644 index 000000000..1ce482ca4 --- /dev/null +++ b/spec/views/shared/dossiers/_normalized_address.html.haml_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +describe 'shared/dossiers/normalized_address', type: :view do + before { render 'shared/dossiers/normalized_address', address: } + + context 'given an champ' do + let(:procedure) { create(:procedure, types_de_champ_public: [{ type: :siret }]) } + let(:dossier) { create(:dossier, :with_populated_champs, procedure:) } + let(:address) { AddressProxy.new(dossier.champs.first) } + + it 'render address' do + AddressProxy::ADDRESS_PARTS.each do |address_part| + expect(rendered).to have_text(address_part) + end + end + end + + context 'given an etablissement' do + let(:etablissement) { create(:etablissement) } + let(:address) { AddressProxy.new(etablissement) } + + it 'render address' do + expect(rendered).to have_text("6 RUE RAOUL NORDLING") + expect(rendered).to have_text("BOIS COLOMBES 92270") + expect(rendered).to have_text("92009") + expect(rendered).to have_text("92270") + expect(rendered).to have_text("Hauts-de-Seine – 92") + expect(rendered).to have_text("Île-de-France – 11") + end + end +end