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

102 lines
8.2 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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")
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')
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"))
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