demarches-normaliennes/spec/helpers/etablissement_helper_spec.rb

121 lines
3.4 KiB
Ruby

RSpec.describe EtablissementHelper, type: :helper do
let(:code_effectif) { '00' }
let(:raison_sociale) { 'GRTGaz' }
let(:enseigne) { "mon enseigne" }
let(:nom) { 'mon nom' }
let(:prenom) { 'mon prenom' }
let(:etat_administratif) { 'actif' }
let(:etablissement_params) do
{
enseigne: enseigne,
entreprise_capital_social: 123_000,
entreprise_code_effectif_entreprise: code_effectif,
entreprise_raison_sociale: raison_sociale,
entreprise_etat_administratif: etat_administratif,
entreprise_nom: nom,
entreprise_prenom: prenom
}
end
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 "#extract_resultat_exercice" do
let(:bilan) { bilans.first }
context 'having results' do
let(:bilans) { JSON.parse(File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf_with_bilans.json'))["data"] }
it 'find value' do
expect(extract_resultat_exercice(bilan["data"])).to eq("97065000")
end
end
context 'without results' do
let(:bilans) { JSON.parse(File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf.json'))["data"] }
it 'does not crash' do
expect(extract_resultat_exercice(bilan["data"])).to eq(nil)
end
end
end
describe '#raison_sociale_or_name' do
subject { raison_sociale_or_name(etablissement) }
context 'when etablissement is not the siege and enseigne exist' do
let(:enseigne) { "mon enseigne" }
it 'display enseigne' do
expect(subject).to eq(enseigne)
end
end
context 'when raison_sociale exist' do
let(:raison_sociale) { 'ma super raison_sociale' }
let(:enseigne) { nil }
it 'display raison_sociale' do
expect(subject).to eq(raison_sociale)
end
end
context 'when raison_sociale is nil' do
let(:raison_sociale) { nil }
let(:enseigne) { nil }
it 'display nom and prenom' do
expect(subject).to eq("#{nom} #{prenom}")
end
end
end
describe '#effectif' do
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_currency' do
subject { pretty_currency(etablissement.entreprise_capital_social) }
it { is_expected.to eq('123 000 €') }
end
describe '#pretty_currency with special unit' do
subject { pretty_currency(12345, unit: 'k€') }
it { is_expected.to eq('12 345 k€') }
end
describe '#pretty_date_exercice' do
subject { pretty_date_exercice("201908") }
it { is_expected.to eq("2019") }
end
describe "#humanized_entreprise_etat_administratif" do
subject { humanized_entreprise_etat_administratif(etablissement) }
context "when etat_administratif is A" do
let(:etat_administratif) { "actif" }
it { is_expected.to eq("en activité") }
end
context "when etat_administratif is F" do
let(:etat_administratif) { "fermé" }
it { is_expected.to eq("fermé") }
end
context "when etat_administratif is nil" do
let(:etat_administratif) { nil }
it { is_expected.to be_nil }
end
end
end