90 lines
3.3 KiB
Ruby
90 lines
3.3 KiB
Ruby
describe 'shared/dossiers/identite_entreprise', type: :view do
|
||
subject { render 'shared/dossiers/identite_entreprise', etablissement: etablissement, profile: profile }
|
||
let(:profile) { 'usager' }
|
||
|
||
context "there is an association" do
|
||
let(:etablissement) { create(:etablissement, :is_association) }
|
||
|
||
context "date_publication is missing on rna" do
|
||
before { etablissement.update(association_date_publication: nil) }
|
||
|
||
it "can render without error" do
|
||
subject
|
||
expect(rendered).to include("Date de publication :")
|
||
end
|
||
end
|
||
end
|
||
|
||
context "for an entreprise with private infos" do
|
||
let(:etablissement) { create(:etablissement, :non_diffusable, siret: "12345678900001") }
|
||
|
||
it "hide any info except siret" do
|
||
subject
|
||
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.forme_juridique)
|
||
end
|
||
end
|
||
|
||
context 'for instructeur' do
|
||
let(:profile) { 'instructeur' }
|
||
|
||
context 'with bilans bdf v2' do
|
||
let(:bilans) { JSON.parse(File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf_v2.json')) }
|
||
let(:bilans_array) { bilans["bilans"] }
|
||
let(:bilans_monnaie) { bilans["monnaie"] }
|
||
let(:etablissement) { create(:etablissement, entreprise_bilans_bdf: bilans_array, entreprise_bilans_bdf_monnaie: bilans_monnaie, dossier: create(:dossier)) }
|
||
|
||
it "can render without error" do
|
||
assign(:dossier, etablissement.dossier)
|
||
subject
|
||
expect(rendered).to include("Excédent brut d’exploitation")
|
||
expect(rendered).to include("-1 876 863 k€")
|
||
end
|
||
end
|
||
|
||
context 'with bilans bdf v3' do
|
||
let(:bilans) { JSON.parse(File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf.json')) }
|
||
let(:bilans_array) { bilans["data"] }
|
||
let(:bilans_monnaie) { "euros" }
|
||
let(:etablissement) { create(:etablissement, entreprise_bilans_bdf: bilans_array, entreprise_bilans_bdf_monnaie: bilans_monnaie, dossier: create(:dossier)) }
|
||
|
||
it "can render without error" do
|
||
assign(:dossier, etablissement.dossier)
|
||
subject
|
||
expect(rendered).to include("Excédent brut d’exploitation")
|
||
expect(rendered).to include("9 001")
|
||
end
|
||
end
|
||
|
||
context 'siret siege social' do
|
||
let(:etablissement) { create(:etablissement, siret: "12345678900001", entreprise_siret_siege_social: siret_siege_social) }
|
||
|
||
context 'when siege social has same siret' do
|
||
let(:siret_siege_social) { "12345678900001" }
|
||
|
||
it 'does not duplicate siret' do
|
||
expect(subject).to include("123 456 789 00001").once
|
||
end
|
||
end
|
||
|
||
context 'when siege social is different' do
|
||
let(:siret_siege_social) { "98765432100001" }
|
||
|
||
it 'shows both sirets' do
|
||
expect(subject).to include("123 456 789 00001")
|
||
expect(subject).to include("SIRET du siège social")
|
||
expect(subject).to include("987 654 321 00001")
|
||
end
|
||
end
|
||
|
||
context 'when siege social has no siret' do
|
||
let(:siret_siege_social) { nil }
|
||
|
||
it 'does not duplicate siret' do
|
||
expect(subject).not_to include("SIRET du siège social")
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|