diff --git a/app/decorators/entreprise_decorator.rb b/app/decorators/entreprise_decorator.rb deleted file mode 100644 index 9cb958ca3..000000000 --- a/app/decorators/entreprise_decorator.rb +++ /dev/null @@ -1,32 +0,0 @@ -class EntrepriseDecorator < Draper::Decorator - delegate_all - - def raison_sociale_or_name - raison_sociale.presence || "#{nom} #{prenom}" - end - - def effectif - { - 'NN' => "Unités non employeuses (pas de salarié au cours de l'année de référence et pas d'effectif au 31/12).", - '00' => "0 salarié (n'ayant pas d'effectif au 31/12 mais ayant employé des salariés au cours de l'année de référence)", - '01' => '1 ou 2 salariés', - '02' => '3 à 5 salariés', - '03' => '6 à 9 salariés', - '11' => '10 à 19 salariés', - '12' => '20 à 49 salariés', - '21' => '50 à 99 salariés', - '22' => '100 à 199 salariés', - '31' => '200 à 249 salariés', - '32' => '250 à 499 salariés', - '41' => '500 à 999 salariés', - '42' => '1 000 à 1 999 salariés', - '51' => '2 000 à 4 999 salariés', - '52' => '5 000 à 9 999 salariés', - '53' => '10 000 salariés et plus' - }[code_effectif_entreprise] - end - - def pretty_capital_social - h.number_to_currency(capital_social, delimiter: ' ', unit: '€', format: '%n %u') - end -end diff --git a/app/decorators/etablissement_decorator.rb b/app/decorators/etablissement_decorator.rb deleted file mode 100644 index b6e03db6a..000000000 --- a/app/decorators/etablissement_decorator.rb +++ /dev/null @@ -1,3 +0,0 @@ -class EtablissementDecorator < Draper::Decorator - delegate_all -end diff --git a/app/helpers/etablissement_helper.rb b/app/helpers/etablissement_helper.rb index 3c4de3d6f..e12c485a3 100644 --- a/app/helpers/etablissement_helper.rb +++ b/app/helpers/etablissement_helper.rb @@ -2,4 +2,35 @@ module EtablissementHelper def pretty_currency(capital_social) number_to_currency(capital_social, locale: :fr) end + + def raison_sociale_or_name(etablissement) + if etablissement.association? + etablissement.association_titre + elsif etablissement.entreprise_raison_sociale.present? + etablissement.entreprise_raison_sociale + else + "#{etablissement.entreprise_nom} #{etablissement.entreprise_prenom}" + end + end + + def effectif(etablissement) + { + 'NN' => "Unités non employeuses (pas de salarié au cours de l'année de référence et pas d'effectif au 31/12).", + '00' => "0 salarié (n'ayant pas d'effectif au 31/12 mais ayant employé des salariés au cours de l'année de référence)", + '01' => '1 ou 2 salariés', + '02' => '3 à 5 salariés', + '03' => '6 à 9 salariés', + '11' => '10 à 19 salariés', + '12' => '20 à 49 salariés', + '21' => '50 à 99 salariés', + '22' => '100 à 199 salariés', + '31' => '200 à 249 salariés', + '32' => '250 à 499 salariés', + '41' => '500 à 999 salariés', + '42' => '1 000 à 1 999 salariés', + '51' => '2 000 à 4 999 salariés', + '52' => '5 000 à 9 999 salariés', + '53' => '10 000 salariés et plus' + }[etablissement.entreprise_code_effectif_entreprise] + end end diff --git a/spec/decorators/entreprise_decorator_spec.rb b/spec/helpers/etablissement_helper_spec.rb similarity index 61% rename from spec/decorators/entreprise_decorator_spec.rb rename to spec/helpers/etablissement_helper_spec.rb index 90076d179..3936f7d16 100644 --- a/spec/decorators/entreprise_decorator_spec.rb +++ b/spec/helpers/etablissement_helper_spec.rb @@ -1,29 +1,29 @@ -require 'spec_helper' - -describe EntrepriseDecorator do +RSpec.describe EtablissementHelper, type: :helper do let(:code_effectif) { '00' } let(:raison_sociale) { 'GRTGaz' } let(:nom) { 'mon nom' } let(:prenom) { 'mon prenom' } let(:entreprise_params) do { - capital_social: 123_000, - code_effectif_entreprise: code_effectif, - raison_sociale: raison_sociale, - nom: nom, - prenom: prenom + entreprise_capital_social: 123_000, + entreprise_code_effectif_entreprise: code_effectif, + entreprise_raison_sociale: raison_sociale, + entreprise_nom: nom, + entreprise_prenom: prenom } end - let(:entreprise) { create(:entreprise, entreprise_params) } - subject { entreprise.decorate } + let(:etablissement) { create(:etablissement, entreprise_params) } + describe '#raison_sociale_or_name' do - subject { super().raison_sociale_or_name } + subject { raison_sociale_or_name(etablissement) } + context 'when raison_sociale exist' do let(:raison_sociale) { 'ma super raison_sociale' } it 'display raison_sociale' do expect(subject).to eq(raison_sociale) end end + context 'when raison_sociale is nil' do let(:raison_sociale) { nil } it 'display nom and prenom' do @@ -33,20 +33,22 @@ describe EntrepriseDecorator do end describe '#effectif' do - subject { super().effectif } + subject { effectif(etablissement) } + context 'when code_effectif is 00' do let(:code_effectif) { '01' } it { is_expected.to eq('1 ou 2 salariés') } end + context 'when code_effectif is 32' do let(:code_effectif) { '32' } it { is_expected.to eq('250 à 499 salariés') } end end - describe '#pretty_capital_social' do - it 'pretty display capital_social' do - expect(subject.pretty_capital_social).to eq('123 000,00 €') - end + describe '#pretty_currency' do + subject { pretty_currency(etablissement.entreprise_capital_social) } + + it { is_expected.to eq('123 000,00 €') } end end