use entreprise decorator
add test to entreprise decorator refacto views
This commit is contained in:
parent
107b11d510
commit
a86ecb69de
8 changed files with 124 additions and 94 deletions
|
@ -10,7 +10,6 @@ class DossiersController < ApplicationController
|
|||
|
||||
def create
|
||||
@rescue_redirect = 'error_siret'
|
||||
|
||||
@etablissement = Etablissement.new(SIADE::EtablissementAdapter.new(params[:siret]).to_params)
|
||||
@entreprise = Entreprise.new(SIADE::EntrepriseAdapter.new(params[:siret][0..-6]).to_params)
|
||||
|
||||
|
|
|
@ -1,43 +1,37 @@
|
|||
class EntrepriseDecorator < Draper::Decorator
|
||||
delegate_all
|
||||
|
||||
|
||||
def raison_sociale_or_name
|
||||
raison_sociale.nil? ? nom + '' + prenom : raison_sociale
|
||||
raison_sociale.nil? ? nom + ' ' + prenom : raison_sociale
|
||||
end
|
||||
|
||||
def code_effectif_entreprise_libelle
|
||||
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
|
||||
|
||||
case code_effectif_entreprise.to_s
|
||||
when '00'
|
||||
'0 salarié'
|
||||
when '01'
|
||||
'1 ou 2 salariés'
|
||||
when '02'
|
||||
'3 à 5 salariés'
|
||||
when '03'
|
||||
'6 à 9 salariés'
|
||||
when '11'
|
||||
'10 à 19 salariés'
|
||||
when '12'
|
||||
'20 à 49 salariés'
|
||||
when '21'
|
||||
'50 à 99 salariés'
|
||||
when '22'
|
||||
'100 à 199 salariés'
|
||||
when '31'
|
||||
'200 à 249 salariés'
|
||||
when '32'
|
||||
'250 à 499 salariés'
|
||||
when '41'
|
||||
'500 à 999 salariés'
|
||||
when '42'
|
||||
'1 000 à 1 999 salariés'
|
||||
when '51'
|
||||
'2 000 à 4 999 salariés'
|
||||
when '52'
|
||||
'5 000 à 9 999 salariés'
|
||||
when '53'
|
||||
'10 000 salariés et plus'
|
||||
end
|
||||
def pretty_capital_social
|
||||
h.number_to_currency(capital_social, delimiter: ' ', unit: '€', format: "%n %u")
|
||||
end
|
||||
|
||||
def pretty_date_creation
|
||||
Time.at(date_creation).strftime('%d-%m-%Y')
|
||||
end
|
||||
end
|
|
@ -1,38 +1,32 @@
|
|||
%h4
|
||||
=@entreprise.raison_sociale_or_name
|
||||
.col-md-12
|
||||
%h4
|
||||
= @entreprise.raison_sociale_or_name
|
||||
|
||||
%div{class:'row', id: 'infos_entreprise'}
|
||||
%div{class:'col-lg-6 col-md-6', style:'margin-left:2%'}
|
||||
%h5
|
||||
='SIRET : '
|
||||
%span.text-success
|
||||
=@etablissement.siret
|
||||
#infos_entreprise
|
||||
.col-lg-6.col-md-6
|
||||
%dl.dl-horizontal
|
||||
|
||||
%h5
|
||||
=@entreprise.forme_juridique
|
||||
%dt Siret :
|
||||
%dd.text-success= @etablissement.siret
|
||||
|
||||
%h5
|
||||
=@etablissement.libelle_naf
|
||||
%dt Forme juridique :
|
||||
%dd= @entreprise.forme_juridique
|
||||
|
||||
%h5
|
||||
='Date création : '
|
||||
%span
|
||||
=Time.at(@entreprise.date_creation).strftime "%d-%m-%Y"
|
||||
%dt libelle naf :
|
||||
%dd= @etablissement.libelle_naf
|
||||
|
||||
%br
|
||||
%h5
|
||||
='Code effectif entreprise : '
|
||||
%span
|
||||
=@entreprise.code_effectif_entreprise_libelle
|
||||
%dt Date de création :
|
||||
%dd= Time.at(@entreprise.date_creation).strftime "%d-%m-%Y"
|
||||
|
||||
%h5
|
||||
='Capital social : '
|
||||
%span
|
||||
=number_to_currency(@entreprise.capital_social, delimiter: ' ', unit: '€', format: "%n %u")
|
||||
%dt Effectife entreprise :
|
||||
%dd= @entreprise.effectif
|
||||
|
||||
%dt Capital social :
|
||||
%dd= @entreprise.pretty_capital_social
|
||||
|
||||
%div.col-lg-6.col-md-6{style:'margin-left:-2%'}
|
||||
%h5
|
||||
='Adresse : '
|
||||
%div{style:'margin-left:2%'}
|
||||
=@etablissement.adresse.gsub(/[\n]/, '<br>').html_safe
|
||||
%dl.dl-horizontal
|
||||
%dt
|
||||
Adresse :
|
||||
%dd
|
||||
%address= @etablissement.adresse.gsub(/[\n]/, '<br>').html_safe
|
||||
|
|
|
@ -1,23 +1,12 @@
|
|||
%h2{style:'margin-bottom:16px'}
|
||||
='Récapitulatif de vos informations'
|
||||
.container
|
||||
%h2 Récapitulatif de vos informations
|
||||
|
||||
%div{class:'row', style:'margin-left:5%'}
|
||||
= render partial: 'infos_entreprise'
|
||||
|
||||
= form_for @dossier do |f|
|
||||
%label{ style:'font-weight:normal' }
|
||||
= f.check_box :autorisation_donnees
|
||||
J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.
|
||||
%div.row
|
||||
= render partial: 'infos_entreprise'
|
||||
%br
|
||||
= f.submit 'Etape suivante', class: "btn btn btn-info", style: 'float:right'
|
||||
|
||||
= form_tag(url_for({controller: :dossiers, action: :update, id: @dossier.id}), class: 'form-inline', method: 'PUT') do
|
||||
%br
|
||||
%div
|
||||
= form_for @dossier do |f|
|
||||
%label{ style:'font-weight:normal' }
|
||||
%input{type:'checkbox', name: 'autorisation_donnees', id: 'autorisation_donnees'}
|
||||
= "J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles."
|
||||
= f.check_box :autorisation_donnees
|
||||
J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.
|
||||
%br
|
||||
%br
|
||||
|
||||
= render partial: 'layouts/etape_suivante'
|
||||
= f.submit 'Etape suivante', class: "btn btn btn-info", style: 'float:right', id: 'etape_suivante'
|
|
@ -3,8 +3,7 @@ require 'spec_helper'
|
|||
RSpec.describe DossiersController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_entreprise) }
|
||||
let (:dossier_id) { dossier.id }
|
||||
let (:bad_dossier_id) { Dossier.count + 10 }
|
||||
# let (:autorisation_donnees){'on'}
|
||||
let (:bad_dossier_id) { 999999999999 }
|
||||
|
||||
let (:siren) { dossier.siren }
|
||||
let (:siret) { dossier.siret }
|
||||
|
|
59
spec/decorators/entreprise_decorator_spec.rb
Normal file
59
spec/decorators/entreprise_decorator_spec.rb
Normal file
|
@ -0,0 +1,59 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe EntrepriseDecorator do
|
||||
let(:code_effectif) { '00' }
|
||||
let(:raison_sociale) { 'GRTGaz' }
|
||||
let(:nom) { 'mon nom' }
|
||||
let(:prenom) { 'mon prenom' }
|
||||
let(:entreprise_params) {
|
||||
{
|
||||
capital_social: 123_000,
|
||||
code_effectif_entreprise: code_effectif,
|
||||
raison_sociale: raison_sociale,
|
||||
nom: nom,
|
||||
prenom: prenom
|
||||
|
||||
}
|
||||
}
|
||||
let(:entreprise) { create(:entreprise, entreprise_params) }
|
||||
subject { entreprise.decorate }
|
||||
describe '#raison_sociale_or_name' do
|
||||
subject { super().raison_sociale_or_name}
|
||||
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
|
||||
expect(subject).to eq(nom + ' ' + prenom)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#effectif' do
|
||||
subject { super().effectif }
|
||||
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
|
||||
end
|
||||
|
||||
describe '#pretty_date_creation' do
|
||||
it 'pretty print date creation' do
|
||||
expect(subject.pretty_date_creation).to eq('05-11-2001')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -15,23 +15,19 @@ feature 'Dossier#Show Page' do
|
|||
end
|
||||
|
||||
scenario 'la checkbox d\'information est présente' do
|
||||
expect(page).to have_selector('input[type=checkbox][id=autorisation_donnees][name=autorisation_donnees]')
|
||||
end
|
||||
|
||||
scenario 'la checkbox est décochée par défault' do
|
||||
expect(page).to_not have_selector('input[type=checkbox][id=autorisation_donnees][name=autorisation_donnees][value=on]')
|
||||
expect(page).to have_css('#dossier_autorisation_donnees')
|
||||
end
|
||||
|
||||
scenario 'le texte d\'information des droits est correct' do
|
||||
expect(page).to have_content ("J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.")
|
||||
expect(page).to have_content("J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.")
|
||||
end
|
||||
|
||||
scenario 'les informations de l\'entreprise sont présents' do
|
||||
expect(page).to have_content ('SIRET');
|
||||
expect(page).to have_content('Siret')
|
||||
end
|
||||
|
||||
scenario 'le bouton "Etape suivante" est présent' do
|
||||
expect(page).to have_selector ('#etape_suivante');
|
||||
expect(page).to have_selector('#etape_suivante')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -10,6 +10,6 @@ describe 'dossiers/show.html.haml', type: :view do
|
|||
render
|
||||
end
|
||||
it 'have autorisation_donnees check box' do
|
||||
expect(rendered).to have_css('#autorisation_donnees')
|
||||
expect(rendered).to have_css('#dossier_autorisation_donnees')
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue