demarches-normaliennes/spec/models/columns/dossier_column_spec.rb

103 lines
8.2 KiB
Ruby
Raw Normal View History

2024-10-31 18:29:23 +01:00
# frozen_string_literal: true
describe Columns::DossierColumn do
describe 'value' do
let(:groupe_instructeur) { create(:groupe_instructeur, instructeurs: [create(:instructeur)]) }
context 'when dossier columns' do
context 'when procedure for individual' do
let(:individual) { create(:individual, nom: "Sim", prenom: "Paul", gender: 'M.') }
let(:procedure) { create(:procedure, for_individual: true, groupe_instructeurs: [groupe_instructeur]) }
let(:dossier) { create(:dossier, individual:, mandataire_first_name: "Martin", mandataire_last_name: "Christophe", for_tiers: true) }
it 'retrieve individual information' do
expect(procedure.find_column(label: "Prénom").value(dossier)).to eq("Paul")
expect(procedure.find_column(label: "Nom").value(dossier)).to eq("Sim")
expect(procedure.find_column(label: "Civilité").value(dossier)).to eq("M.")
expect(procedure.find_column(label: "Dépôt pour un tiers").value(dossier)).to eq(true)
expect(procedure.find_column(label: "Nom du mandataire").value(dossier)).to eq("Christophe")
expect(procedure.find_column(label: "Prénom du mandataire").value(dossier)).to eq("Martin")
2024-10-31 18:29:23 +01:00
end
end
context 'when procedure for entreprise' do
let(:procedure) { create(:procedure, for_individual: false, groupe_instructeurs: [groupe_instructeur]) }
let(:dossier) { create(:dossier, :en_instruction, :with_entreprise, procedure:) }
it 'retrieve entreprise information' do
expect(procedure.find_column(label: " dossier").value(dossier)).to eq(dossier.id)
expect(procedure.find_column(label: "Email").value(dossier)).to eq(dossier.user_email_for(:display))
expect(procedure.find_column(label: "France connecté ?").value(dossier)).to eq(false)
expect(procedure.find_column(label: "Entreprise forme juridique").value(dossier)).to eq("SA à conseil d'administration (s.a.i.)")
expect(procedure.find_column(label: "Entreprise SIREN").value(dossier)).to eq('440117620')
expect(procedure.find_column(label: "Entreprise nom commercial").value(dossier)).to eq('GRTGAZ')
expect(procedure.find_column(label: "Entreprise raison sociale").value(dossier)).to eq('GRTGAZ')
expect(procedure.find_column(label: "Entreprise SIRET siège social").value(dossier)).to eq('44011762001530')
expect(procedure.find_column(label: "Date de création").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Établissement SIRET").value(dossier)).to eq('44011762001530')
2024-10-31 18:29:23 +01:00
expect(procedure.find_column(label: "Libellé NAF").value(dossier)).to eq('Transports par conduites')
expect(procedure.find_column(label: "Établissement code postal").value(dossier)).to eq('92270')
expect(procedure.find_column(label: "Établissement siège social").value(dossier)).to eq(true)
expect(procedure.find_column(label: "Établissement NAF").value(dossier)).to eq('4950Z')
expect(procedure.find_column(label: "Établissement Adresse").value(dossier)).to eq("GRTGAZ\r IMMEUBLE BORA\r 6 RUE RAOUL NORDLING\r 92270 BOIS COLOMBES\r")
expect(procedure.find_column(label: "Établissement numero voie").value(dossier)).to eq('6')
expect(procedure.find_column(label: "Établissement type voie").value(dossier)).to eq('RUE')
expect(procedure.find_column(label: "Établissement nom voie").value(dossier)).to eq('RAOUL NORDLING')
expect(procedure.find_column(label: "Établissement complément adresse").value(dossier)).to eq('IMMEUBLE BORA')
expect(procedure.find_column(label: "Établissement localité").value(dossier)).to eq('BOIS COLOMBES')
expect(procedure.find_column(label: "Établissement code INSEE localité").value(dossier)).to eq('92009')
expect(procedure.find_column(label: "Entreprise SIREN").value(dossier)).to eq('440117620')
expect(procedure.find_column(label: "Entreprise capital social").value(dossier)).to eq(537_100_000)
expect(procedure.find_column(label: "Entreprise numero TVA intracommunautaire").value(dossier)).to eq('FR27440117620')
expect(procedure.find_column(label: "Entreprise forme juridique code").value(dossier)).to eq('5599')
expect(procedure.find_column(label: "Entreprise code effectif entreprise").value(dossier)).to eq('51')
expect(procedure.find_column(label: "Entreprise état administratif").value(dossier)).to eq("actif")
expect(procedure.find_column(label: "Entreprise nom").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Entreprise prénom").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association RNA").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association titre").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association objet").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association date de création").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association date de déclaration").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Association date de publication").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Date de création").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Date du dernier évènement").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Date de dépot").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Date de passage en construction").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Date de passage en instruction").value(dossier)).to be_an_instance_of(ActiveSupport::TimeWithZone)
expect(procedure.find_column(label: "Date de traitement").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "État du dossier").value(dossier)).to eq('en_instruction')
expect(procedure.find_column(label: "Archivé").value(dossier)).to eq(false)
expect(procedure.find_column(label: "Motivation de la décision").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Date de dernière modification (usager)").value(dossier)).to eq(nil)
expect(procedure.find_column(label: "Instructeurs").value(dossier)).to eq('')
end
end
context 'when procedure for entreprise which is also an association' do
let(:procedure) { create(:procedure, for_individual: false, groupe_instructeurs: [groupe_instructeur]) }
let(:etablissement) { create(:etablissement, :is_association) }
let(:dossier) { create(:dossier, :en_instruction, procedure:, etablissement:) }
it 'retrieve also association information' do
expect(procedure.find_column(label: "Association RNA").value(dossier)).to eq("W072000535")
expect(procedure.find_column(label: "Association titre").value(dossier)).to eq("ASSOCIATION POUR LA PROMOTION DE SPECTACLES AU CHATEAU DE ROCHEMAURE")
expect(procedure.find_column(label: "Association objet").value(dossier)).to eq("mise en oeuvre et réalisation de spectacles au chateau de rochemaure")
expect(procedure.find_column(label: "Association date de création").value(dossier)).to eq(Date.parse("1990-04-24"))
expect(procedure.find_column(label: "Association date de déclaration").value(dossier)).to eq(Date.parse("2014-11-28"))
expect(procedure.find_column(label: "Association date de publication").value(dossier)).to eq(Date.parse("1990-05-16"))
2024-10-31 18:29:23 +01:00
end
end
context 'when sva/svr enabled' do
let(:procedure) { create(:procedure, :sva, for_individual: true, groupe_instructeurs: [groupe_instructeur]) }
let(:dossier) { create(:dossier, :en_instruction, procedure:) }
it 'does not fail' do
expect(procedure.find_column(label: "Date décision SVA").value(dossier)).to eq(nil)
end
end
end
end
end