feat(siret): render siret formatted like INSEE

This commit is contained in:
Colin Darie 2023-03-15 11:10:32 +01:00
parent 37afd142cb
commit b628cf85cd
No known key found for this signature in database
GPG key ID: 4FB865FDBCA4BCC4
6 changed files with 18 additions and 8 deletions

View file

@ -1,4 +1,8 @@
module EtablissementHelper module EtablissementHelper
def pretty_siret(siret)
"#{siret[0..2]} #{siret[3..5]} #{siret[6..8]} #{siret[9..]}"
end
def pretty_currency(capital_social, unit: '€') def pretty_currency(capital_social, unit: '€')
number_to_currency(capital_social, locale: :fr, unit: unit, precision: 0) number_to_currency(capital_social, locale: :fr, unit: unit, precision: 0)
end end

View file

@ -20,14 +20,14 @@
%tbody %tbody
- if etablissement.diffusable_commercialement == false && profile != 'instructeur' - if etablissement.diffusable_commercialement == false && profile != 'instructeur'
%tr %tr
%td= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: etablissement.siret) %td= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: pretty_siret(etablissement.siret))
- else - else
%tr %tr
%td.libelle Dénomination : %td.libelle Dénomination :
%td= raison_sociale_or_name(etablissement) %td= raison_sociale_or_name(etablissement)
%tr %tr
%td.libelle SIRET : %td.libelle SIRET :
%td= etablissement.siret %td= pretty_siret(etablissement.siret)
- unless local_assigns[:short_identity] - unless local_assigns[:short_identity]
- if etablissement.siret != etablissement.entreprise.siret_siege_social - if etablissement.siret != etablissement.entreprise.siret_siege_social

View file

@ -17,7 +17,7 @@
%br %br
%br %br
Veuillez vérifier par vous-même que le numéro Veuillez vérifier par vous-même que le numéro
%strong= etablissement.siret %strong= pretty_siret(etablissement.siret)
correspond bien à votre entreprise : correspond bien à votre entreprise :
%p %p
@ -25,7 +25,7 @@
Vérifier dans l'annuaire des entreprises Vérifier dans l'annuaire des entreprises
- elsif etablissement.diffusable_commercialement == false - elsif etablissement.diffusable_commercialement == false
%p= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: etablissement.siret) %p= t('warning_for_private_info', scope: 'views.shared.dossiers.identite_entreprise', siret: pretty_siret(etablissement.siret))
- else - else
%p %p

View file

@ -1,7 +1,7 @@
%ul.etablissement-infos-entreprise %ul.etablissement-infos-entreprise
%li %li
Siret : Siret :
= etablissement.siret = pretty_siret(etablissement.siret)
%li %li
Libellé NAF : Libellé NAF :

View file

@ -18,6 +18,12 @@ RSpec.describe EtablissementHelper, type: :helper do
end end
let(:etablissement) { create(:etablissement, etablissement_params) } let(:etablissement) { create(:etablissement, etablissement_params) }
describe "#pretty_siret" do
subject { pretty_siret("12345678900001") }
it { is_expected.to eq("123 456 789 00001") }
end
describe '#raison_sociale_or_name' do describe '#raison_sociale_or_name' do
subject { raison_sociale_or_name(etablissement) } subject { raison_sociale_or_name(etablissement) }

View file

@ -13,14 +13,14 @@ describe 'users/dossiers/etablissement.html.haml', type: :view do
subject! { render } subject! { render }
it 'affiche les informations de létablissement' do it 'affiche les informations de létablissement' do
expect(rendered).to have_text("12345678900001") expect(rendered).to have_text("123 456 789 00001")
expect(rendered).to have_text(etablissement.entreprise_raison_sociale) expect(rendered).to have_text(etablissement.entreprise_raison_sociale)
end end
context 'etablissement avec infos non diffusables' do context 'etablissement avec infos non diffusables' do
let(:etablissement) { create(:etablissement, :with_exercices, :non_diffusable, siret: "12345678900001") } let(:etablissement) { create(:etablissement, :with_exercices, :non_diffusable, siret: "12345678900001") }
it "affiche uniquement le SIRET si infos non diffusables" do it "affiche uniquement le SIRET si infos non diffusables" do
expect(rendered).to have_text("12345678900001") expect(rendered).to have_text("123 456 789 00001")
expect(rendered).not_to have_text(etablissement.entreprise_raison_sociale) expect(rendered).not_to have_text(etablissement.entreprise_raison_sociale)
expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique) expect(rendered).not_to have_text(etablissement.entreprise.forme_juridique)
end end
@ -34,7 +34,7 @@ describe 'users/dossiers/etablissement.html.haml', type: :view do
let(:etablissement) { Etablissement.create!(siret: '41816609600051') } let(:etablissement) { Etablissement.create!(siret: '41816609600051') }
it "affiche une notice avec un lien de vérification vers l'annuaire" do it "affiche une notice avec un lien de vérification vers l'annuaire" do
expect(rendered).to have_text(etablissement.siret) expect(rendered).to have_text("418 166 096 00051")
expect(rendered).to have_link("Vérifier dans l'annuaire des entreprises", href: "https://annuaire-entreprises\.data\.gouv\.fr/rechercher?terme=#{etablissement.siret}") expect(rendered).to have_link("Vérifier dans l'annuaire des entreprises", href: "https://annuaire-entreprises\.data\.gouv\.fr/rechercher?terme=#{etablissement.siret}")
end end
end end