2016-01-20 15:48:46 +01:00
|
|
|
|
describe API::V1::DossiersController do
|
2018-09-26 15:07:33 +02:00
|
|
|
|
let(:admin) { create(:administrateur) }
|
2022-11-30 10:13:55 +01:00
|
|
|
|
let(:token) { APIToken.generate(admin)[1] }
|
2019-07-25 14:54:54 +02:00
|
|
|
|
let(:procedure) { create(:procedure, :with_type_de_champ, :with_type_de_champ_private, administrateur: admin) }
|
2016-01-20 15:48:46 +01:00
|
|
|
|
let(:wrong_procedure) { create(:procedure) }
|
|
|
|
|
|
|
|
|
|
it { expect(described_class).to be < APIController }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2018-03-08 17:41:54 +01:00
|
|
|
|
describe 'GET index (with bearer token)' do
|
2018-09-26 15:07:33 +02:00
|
|
|
|
let(:authorization_header) { ActionController::HttpAuthentication::Token.encode_credentials(token) }
|
2018-03-08 17:41:54 +01:00
|
|
|
|
let(:retour) do
|
|
|
|
|
request.env['HTTP_AUTHORIZATION'] = authorization_header
|
|
|
|
|
get :index, params: { procedure_id: procedure_id }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
subject { retour }
|
|
|
|
|
|
|
|
|
|
context 'when procedure is not found' do
|
|
|
|
|
let(:procedure_id) { 99_999_999 }
|
|
|
|
|
it { expect(subject.code).to eq('404') }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2016-01-20 15:48:46 +01:00
|
|
|
|
describe 'GET index' do
|
2019-06-20 12:11:39 +02:00
|
|
|
|
let(:order) { nil }
|
|
|
|
|
let(:retour) { get :index, params: { token: token, procedure_id: procedure_id, order: order }.compact }
|
2016-01-20 15:48:46 +01:00
|
|
|
|
|
2016-02-26 14:16:17 +01:00
|
|
|
|
subject { retour }
|
2016-01-20 15:48:46 +01:00
|
|
|
|
|
|
|
|
|
context 'when procedure is not found' do
|
|
|
|
|
let(:procedure_id) { 99_999_999 }
|
|
|
|
|
it { expect(subject.code).to eq('404') }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when procedure does not belong to admin' do
|
|
|
|
|
let(:procedure_id) { wrong_procedure.id }
|
2023-09-20 09:30:14 +02:00
|
|
|
|
it { expect(subject.code).to eq('404') }
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when procedure is found and belongs to admin' do
|
|
|
|
|
let(:procedure_id) { procedure.id }
|
2018-10-25 17:03:03 +02:00
|
|
|
|
let(:date_creation) { Time.zone.local(2008, 9, 1, 10, 5, 0) }
|
2017-12-14 15:51:45 +01:00
|
|
|
|
let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, :en_construction, procedure: procedure) } }
|
2016-02-26 14:16:17 +01:00
|
|
|
|
let(:body) { JSON.parse(retour.body, symbolize_names: true) }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
2016-02-26 14:16:17 +01:00
|
|
|
|
expect(retour.code).to eq('200')
|
2023-09-19 23:05:52 +02:00
|
|
|
|
expect(body).to have_key :pagination
|
|
|
|
|
expect(body).to have_key :dossiers
|
2016-02-22 19:42:47 +01:00
|
|
|
|
end
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
context 'but the token is invalid' do
|
|
|
|
|
let(:token) { 'bad' }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it { expect(subject.code).to eq('401') }
|
|
|
|
|
end
|
2016-01-20 15:48:46 +01:00
|
|
|
|
|
|
|
|
|
describe 'pagination' do
|
|
|
|
|
subject { body[:pagination] }
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject[:page]).to eq(1)
|
|
|
|
|
expect(subject[:resultats_par_page]).to eq(described_class.const_get(:DEFAULT_PAGE_SIZE))
|
|
|
|
|
expect(subject[:nombre_de_page]).to eq(1)
|
|
|
|
|
end
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|
|
|
|
|
|
2018-06-29 17:34:35 +02:00
|
|
|
|
describe 'with custom resultats_par_page' do
|
2018-09-26 15:07:33 +02:00
|
|
|
|
let(:retour) { get :index, params: { token: token, procedure_id: procedure_id, resultats_par_page: 18 } }
|
2018-06-29 17:34:35 +02:00
|
|
|
|
subject { body[:pagination] }
|
|
|
|
|
it { expect(subject[:resultats_par_page]).to eq(18) }
|
|
|
|
|
end
|
|
|
|
|
|
2016-01-20 15:48:46 +01:00
|
|
|
|
describe 'dossiers' do
|
|
|
|
|
subject { body[:dossiers] }
|
|
|
|
|
it { expect(subject).to be_an(Array) }
|
|
|
|
|
describe 'dossier' do
|
|
|
|
|
subject { super().first }
|
2023-09-19 23:05:52 +02:00
|
|
|
|
|
|
|
|
|
it do
|
|
|
|
|
expect(subject[:id]).to eq(dossier.id)
|
|
|
|
|
expect(subject[:updated_at]).to eq("2008-09-01T08:05:00.000Z")
|
2023-11-14 15:54:34 +01:00
|
|
|
|
expect(subject[:initiated_at]).to eq("2008-09-01T07:56:00.000Z")
|
2023-09-19 23:05:52 +02:00
|
|
|
|
expect(subject[:state]).to eq("initiated")
|
|
|
|
|
expect(subject.keys.size).to eq(4)
|
|
|
|
|
end
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|
2019-06-20 12:11:39 +02:00
|
|
|
|
|
|
|
|
|
describe 'order' do
|
|
|
|
|
let!(:dossier1) { create(:dossier, :with_entreprise, procedure: procedure, state: Dossier.states.fetch(:en_construction)) }
|
|
|
|
|
let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: Dossier.states.fetch(:en_construction)) }
|
|
|
|
|
|
|
|
|
|
context 'asc' do
|
|
|
|
|
let(:order) { 'asc' }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.map { |dossier| dossier[:id] }).to eq([dossier.id, dossier1.id, dossier2.id]) }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'desc' do
|
|
|
|
|
let(:order) { 'desc' }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.map { |dossier| dossier[:id] }).to eq([dossier2.id, dossier1.id, dossier.id]) }
|
|
|
|
|
end
|
|
|
|
|
end
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when there are multiple pages' do
|
2018-09-26 15:07:33 +02:00
|
|
|
|
let(:retour) { get :index, params: { token: token, procedure_id: procedure_id, page: 2 } }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2018-08-28 14:10:55 +02:00
|
|
|
|
let!(:dossier1) { create(:dossier, :with_entreprise, procedure: procedure, state: Dossier.states.fetch(:en_construction)) }
|
|
|
|
|
let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: Dossier.states.fetch(:en_construction)) }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2016-01-20 15:48:46 +01:00
|
|
|
|
before do
|
2017-12-28 19:31:28 +01:00
|
|
|
|
allow(controller).to receive(:per_page).and_return(1)
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe 'pagination' do
|
|
|
|
|
subject { body[:pagination] }
|
2016-02-04 14:08:35 +01:00
|
|
|
|
|
2016-01-20 15:48:46 +01:00
|
|
|
|
it { expect(subject[:page]).to eq(2) }
|
|
|
|
|
it { expect(subject[:resultats_par_page]).to eq(1) }
|
|
|
|
|
it { expect(subject[:nombre_de_page]).to eq(3) }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2016-01-25 16:08:10 +01:00
|
|
|
|
|
|
|
|
|
describe 'GET show' do
|
2022-12-27 11:45:19 +01:00
|
|
|
|
before do
|
|
|
|
|
allow(APIGeoService).to receive(:departement_name).with('01').and_return('Ain')
|
|
|
|
|
end
|
|
|
|
|
|
2018-09-26 15:07:33 +02:00
|
|
|
|
let(:retour) { get :show, params: { token: token, procedure_id: procedure_id, id: dossier_id } }
|
2016-02-26 14:16:17 +01:00
|
|
|
|
subject { retour }
|
2016-01-25 16:08:10 +01:00
|
|
|
|
|
|
|
|
|
context 'when procedure is not found' do
|
|
|
|
|
let(:procedure_id) { 99_999_999 }
|
|
|
|
|
let(:dossier_id) { 1 }
|
|
|
|
|
it { expect(subject.code).to eq('404') }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when procedure exists and does not belong to current admin' do
|
|
|
|
|
let(:procedure_id) { wrong_procedure.id }
|
|
|
|
|
let(:dossier_id) { 1 }
|
2023-09-20 09:30:14 +02:00
|
|
|
|
it { expect(subject.code).to eq('404') }
|
2016-01-25 16:08:10 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when procedure is found and belongs to current admin' do
|
|
|
|
|
context 'when dossier does not exist' do
|
|
|
|
|
let(:procedure_id) { procedure.id }
|
|
|
|
|
let(:dossier_id) { 99999 }
|
|
|
|
|
it { expect(subject.code).to eq('404') }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context 'when dossier exists but does not belong to procedure' do
|
|
|
|
|
let(:procedure_id) { procedure.id }
|
|
|
|
|
let(:dossier) { create(:dossier, :with_entreprise, procedure: wrong_procedure) }
|
|
|
|
|
let(:dossier_id) { dossier.id }
|
|
|
|
|
it { expect(subject.code).to eq('404') }
|
|
|
|
|
end
|
|
|
|
|
|
2019-08-01 14:07:35 +02:00
|
|
|
|
context 'when dossier (with attestation) exists and belongs to procedure' do
|
|
|
|
|
let(:procedure_id) { procedure.id }
|
|
|
|
|
let(:dossier_id) { dossier.id }
|
|
|
|
|
let!(:dossier) { create(:dossier, :with_entreprise, :with_attestation, :accepte, procedure: procedure, motivation: "Motivation") }
|
|
|
|
|
let(:body) { JSON.parse(retour.body, symbolize_names: true) }
|
|
|
|
|
subject { body[:dossier] }
|
|
|
|
|
|
|
|
|
|
it {
|
|
|
|
|
expect(retour.code).to eq('200')
|
|
|
|
|
expect(subject[:id]).to eq(dossier.id)
|
|
|
|
|
expect(subject[:state]).to eq('closed')
|
|
|
|
|
expect(subject[:attestation]).to_not be_nil
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
2016-01-25 16:08:10 +01:00
|
|
|
|
context 'when dossier exists and belongs to procedure' do
|
|
|
|
|
let(:procedure_id) { procedure.id }
|
2018-10-25 17:03:03 +02:00
|
|
|
|
let(:date_creation) { Time.zone.local(2008, 9, 1, 10, 5, 0) }
|
2019-08-01 14:07:35 +02:00
|
|
|
|
let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, :accepte, procedure: procedure, motivation: "Motivation") } }
|
2016-01-25 16:08:10 +01:00
|
|
|
|
let(:dossier_id) { dossier.id }
|
2016-02-26 14:16:17 +01:00
|
|
|
|
let(:body) { JSON.parse(retour.body, symbolize_names: true) }
|
2019-07-31 16:09:28 +02:00
|
|
|
|
let(:field_list) { [:id, :created_at, :updated_at, :archived, :individual, :entreprise, :etablissement, :cerfa, :types_de_piece_justificative, :pieces_justificatives, :champs, :champs_private, :commentaires, :state, :simplified_state, :initiated_at, :processed_at, :received_at, :motivation, :email, :instructeurs, :attestation, :avis] }
|
2016-01-25 16:08:10 +01:00
|
|
|
|
subject { body[:dossier] }
|
|
|
|
|
|
2016-02-22 19:42:47 +01:00
|
|
|
|
it 'return REST code 200', :show_in_doc do
|
2016-02-26 14:16:17 +01:00
|
|
|
|
expect(retour.code).to eq('200')
|
2016-02-22 19:42:47 +01:00
|
|
|
|
end
|
2016-11-15 09:54:17 +01:00
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject[:id]).to eq(dossier.id)
|
|
|
|
|
expect(subject[:state]).to eq('closed')
|
2023-11-14 15:54:34 +01:00
|
|
|
|
expect(subject[:created_at]).to eq('2008-09-01T07:55:00.000Z')
|
2023-09-19 23:05:52 +02:00
|
|
|
|
expect(subject[:updated_at]).to eq('2008-09-01T08:05:00.000Z')
|
|
|
|
|
expect(subject[:archived]).to eq(dossier.archived)
|
|
|
|
|
expect(subject.keys).to match_array(field_list)
|
|
|
|
|
end
|
2016-01-25 16:08:10 +01:00
|
|
|
|
|
|
|
|
|
describe 'entreprise' do
|
2018-01-15 18:54:57 +01:00
|
|
|
|
let(:field_list) {
|
|
|
|
|
[
|
2016-02-26 12:17:41 +01:00
|
|
|
|
:siren,
|
|
|
|
|
:capital_social,
|
|
|
|
|
:numero_tva_intracommunautaire,
|
|
|
|
|
:forme_juridique,
|
|
|
|
|
:forme_juridique_code,
|
|
|
|
|
:nom_commercial,
|
|
|
|
|
:raison_sociale,
|
|
|
|
|
:siret_siege_social,
|
|
|
|
|
:code_effectif_entreprise,
|
2020-04-21 15:52:08 +02:00
|
|
|
|
:effectif_mois,
|
|
|
|
|
:effectif_annee,
|
|
|
|
|
:effectif_mensuel,
|
2020-04-22 19:00:25 +02:00
|
|
|
|
:effectif_annuel,
|
|
|
|
|
:effectif_annuel_annee,
|
2016-02-26 12:17:41 +01:00
|
|
|
|
:date_creation,
|
|
|
|
|
:nom,
|
2018-01-15 18:54:57 +01:00
|
|
|
|
:prenom
|
|
|
|
|
]
|
2017-06-12 14:10:49 +02:00
|
|
|
|
}
|
2016-02-26 12:17:41 +01:00
|
|
|
|
subject { super()[:entreprise] }
|
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject[:siren]).to eq('440117620')
|
|
|
|
|
expect(subject[:capital_social]).to eq(537_100_000)
|
|
|
|
|
expect(subject[:numero_tva_intracommunautaire]).to eq('FR27440117620')
|
|
|
|
|
expect(subject[:forme_juridique]).to eq('SA à conseil d\'administration (s.a.i.)')
|
|
|
|
|
expect(subject[:forme_juridique_code]).to eq('5599')
|
|
|
|
|
expect(subject[:nom_commercial]).to eq('GRTGAZ')
|
|
|
|
|
expect(subject[:raison_sociale]).to eq('GRTGAZ')
|
|
|
|
|
expect(subject[:siret_siege_social]).to eq('44011762001530')
|
|
|
|
|
expect(subject[:code_effectif_entreprise]).to eq('51')
|
|
|
|
|
expect(subject[:date_creation]).to eq('1990-04-24T00:00:00.000+00:00')
|
|
|
|
|
expect(subject.keys).to match_array(field_list)
|
|
|
|
|
end
|
2016-01-25 16:08:10 +01:00
|
|
|
|
end
|
|
|
|
|
|
2016-02-26 12:17:41 +01:00
|
|
|
|
describe 'champs' do
|
2018-01-15 19:22:02 +01:00
|
|
|
|
let(:field_list) { [:url] }
|
2016-02-26 12:17:41 +01:00
|
|
|
|
subject { super()[:champs] }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.length).to eq 1 }
|
|
|
|
|
|
2019-07-25 14:54:54 +02:00
|
|
|
|
describe 'first champ' do
|
2016-08-08 12:52:30 +02:00
|
|
|
|
subject { super().first }
|
|
|
|
|
|
2018-05-18 18:06:48 +02:00
|
|
|
|
it { expect(subject.key?(:value)).to be_truthy }
|
|
|
|
|
it { expect(subject.key?(:type_de_champ)).to be_truthy }
|
2016-08-08 12:52:30 +02:00
|
|
|
|
|
|
|
|
|
describe 'type de champ' do
|
2018-01-15 18:54:57 +01:00
|
|
|
|
let(:field_list) {
|
|
|
|
|
[
|
2016-08-08 12:52:30 +02:00
|
|
|
|
:id,
|
|
|
|
|
:libelle,
|
|
|
|
|
:description,
|
|
|
|
|
:order_place,
|
2018-01-15 18:54:57 +01:00
|
|
|
|
:type
|
|
|
|
|
]
|
2017-06-12 14:10:49 +02:00
|
|
|
|
}
|
2016-08-08 12:52:30 +02:00
|
|
|
|
subject { super()[:type_de_champ] }
|
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject.key?(:id)).to be_truthy
|
|
|
|
|
expect(subject[:libelle]).to include('Libelle du champ')
|
|
|
|
|
expect(subject[:description]).to include('description du champ')
|
|
|
|
|
expect(subject.key?(:order_place)).to be_truthy
|
|
|
|
|
expect(subject[:type_champ]).to eq('text')
|
|
|
|
|
end
|
2016-08-08 12:52:30 +02:00
|
|
|
|
end
|
2022-12-27 11:45:19 +01:00
|
|
|
|
end
|
|
|
|
|
|
2023-04-13 13:10:23 +02:00
|
|
|
|
describe 'departement' do
|
2022-12-27 11:45:19 +01:00
|
|
|
|
let(:procedure) { create(:procedure, :with_departement, administrateur: admin) }
|
|
|
|
|
let(:dossier) { create(:dossier, :en_construction, :with_populated_champs, procedure: procedure) }
|
|
|
|
|
|
|
|
|
|
subject { super() }
|
|
|
|
|
|
|
|
|
|
it 'should have rows' do
|
|
|
|
|
expect(subject.size).to eq(1)
|
|
|
|
|
expect(subject.first[:value]).to eq("01 – Ain")
|
|
|
|
|
end
|
2016-08-08 12:52:30 +02:00
|
|
|
|
end
|
2019-07-11 10:28:44 +02:00
|
|
|
|
|
|
|
|
|
describe 'repetition' do
|
2020-08-27 19:56:48 +02:00
|
|
|
|
let(:procedure) { create(:procedure, :with_repetition, administrateur: admin) }
|
2021-11-03 15:52:53 +01:00
|
|
|
|
let(:dossier) { create(:dossier, :en_construction, :with_populated_champs, procedure: procedure) }
|
2019-07-11 10:28:44 +02:00
|
|
|
|
|
|
|
|
|
subject { super().first[:rows] }
|
|
|
|
|
|
|
|
|
|
it 'should have rows' do
|
|
|
|
|
expect(subject.size).to eq(2)
|
|
|
|
|
expect(subject[0][:id]).to eq(1)
|
2023-02-07 00:28:21 +01:00
|
|
|
|
expect(subject[0][:champs].size).to eq(2)
|
|
|
|
|
expect(subject[0][:champs].map { |c| c[:value] }).to eq(['text', 42])
|
|
|
|
|
expect(subject[0][:champs].map { |c| c[:type_de_champ][:type_champ] }).to eq(['text', 'integer_number'])
|
2019-07-11 10:28:44 +02:00
|
|
|
|
end
|
|
|
|
|
end
|
2016-08-08 12:52:30 +02:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe 'champs_private' do
|
2018-01-15 18:54:57 +01:00
|
|
|
|
let(:field_list) { [:url] }
|
2016-08-08 12:52:30 +02:00
|
|
|
|
subject { super()[:champs_private] }
|
|
|
|
|
|
|
|
|
|
it { expect(subject.length).to eq 1 }
|
|
|
|
|
|
|
|
|
|
describe 'first champs' do
|
2016-02-26 12:17:41 +01:00
|
|
|
|
subject { super().first }
|
|
|
|
|
|
2018-05-18 18:06:48 +02:00
|
|
|
|
it { expect(subject.key?(:value)).to be_truthy }
|
|
|
|
|
it { expect(subject.key?(:type_de_champ)).to be_truthy }
|
2016-02-26 12:17:41 +01:00
|
|
|
|
|
|
|
|
|
describe 'type de champ' do
|
2018-01-15 18:54:57 +01:00
|
|
|
|
let(:field_list) {
|
|
|
|
|
[
|
2016-02-26 12:17:41 +01:00
|
|
|
|
:id,
|
|
|
|
|
:libelle,
|
|
|
|
|
:description,
|
|
|
|
|
:order_place,
|
2018-01-15 18:54:57 +01:00
|
|
|
|
:type
|
|
|
|
|
]
|
2017-06-12 14:10:49 +02:00
|
|
|
|
}
|
2016-02-26 12:17:41 +01:00
|
|
|
|
subject { super()[:type_de_champ] }
|
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject.key?(:id)).to be_truthy
|
|
|
|
|
expect(subject[:libelle]).to include('Libelle champ privé')
|
|
|
|
|
expect(subject[:description]).to include('description du champ privé')
|
|
|
|
|
expect(subject.key?(:order_place)).to be_truthy
|
|
|
|
|
expect(subject[:type_champ]).to eq('text')
|
|
|
|
|
end
|
2016-02-26 12:17:41 +01:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2016-03-14 10:34:46 +01:00
|
|
|
|
describe 'commentaires' do
|
|
|
|
|
let!(:commentaire) { create :commentaire, body: 'plop', created_at: '2016-03-14 14:00:00', email: 'plop@plip.com', dossier: dossier }
|
|
|
|
|
let!(:commentaire_2) { create :commentaire, body: 'plip', created_at: '2016-03-14 15:00:00', email: 'plip@plap.com', dossier: dossier }
|
|
|
|
|
|
|
|
|
|
subject { super()[:commentaires] }
|
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject.size).to eq 2
|
|
|
|
|
expect(subject.first[:body]).to eq 'plop'
|
|
|
|
|
expect(subject.first[:created_at]).to eq '2016-03-14T13:00:00.000Z'
|
|
|
|
|
expect(subject.first[:email]).to eq 'plop@plip.com'
|
|
|
|
|
end
|
2016-03-14 10:34:46 +01:00
|
|
|
|
end
|
|
|
|
|
|
2022-12-06 09:45:59 +01:00
|
|
|
|
describe 'avis' do
|
|
|
|
|
let!(:avis) { create(:avis, dossier: dossier) }
|
|
|
|
|
|
|
|
|
|
subject { super()[:avis] }
|
|
|
|
|
|
|
|
|
|
it { expect(subject[0][:introduction]).to eq(avis.introduction) }
|
|
|
|
|
end
|
|
|
|
|
|
2016-01-25 16:08:10 +01:00
|
|
|
|
describe 'etablissement' do
|
2018-01-15 18:54:57 +01:00
|
|
|
|
let(:field_list) {
|
|
|
|
|
[
|
2016-02-26 12:17:41 +01:00
|
|
|
|
:siret,
|
|
|
|
|
:siege_social,
|
|
|
|
|
:naf,
|
|
|
|
|
:libelle_naf,
|
|
|
|
|
:adresse,
|
|
|
|
|
:numero_voie,
|
|
|
|
|
:type_voie,
|
|
|
|
|
:nom_voie,
|
|
|
|
|
:complement_adresse,
|
|
|
|
|
:code_postal,
|
|
|
|
|
:localite,
|
|
|
|
|
:code_insee_localite
|
2017-06-12 14:10:49 +02:00
|
|
|
|
]
|
|
|
|
|
}
|
2016-02-26 12:17:41 +01:00
|
|
|
|
subject { super()[:etablissement] }
|
2016-01-25 16:08:10 +01:00
|
|
|
|
|
2023-09-19 23:05:52 +02:00
|
|
|
|
it do
|
|
|
|
|
expect(subject[:siret]).to eq('44011762001530')
|
|
|
|
|
expect(subject[:siege_social]).to eq(true)
|
|
|
|
|
expect(subject[:naf]).to eq('4950Z')
|
|
|
|
|
expect(subject[:libelle_naf]).to eq('Transports par conduites')
|
|
|
|
|
expect(subject[:adresse]).to eq("GRTGAZ\r IMMEUBLE BORA\r 6 RUE RAOUL NORDLING\r 92270 BOIS COLOMBES\r")
|
|
|
|
|
expect(subject[:numero_voie]).to eq('6')
|
|
|
|
|
expect(subject[:type_voie]).to eq('RUE')
|
|
|
|
|
expect(subject[:nom_voie]).to eq('RAOUL NORDLING')
|
|
|
|
|
expect(subject[:complement_adresse]).to eq('IMMEUBLE BORA')
|
|
|
|
|
expect(subject[:code_postal]).to eq('92270')
|
|
|
|
|
expect(subject[:localite]).to eq('BOIS COLOMBES')
|
|
|
|
|
expect(subject[:code_insee_localite]).to eq('92009')
|
|
|
|
|
expect(subject.keys).to match_array(field_list)
|
|
|
|
|
end
|
2016-01-25 16:08:10 +01:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2016-01-20 15:48:46 +01:00
|
|
|
|
end
|