export demarches publiques

This commit is contained in:
Christophe Robillard 2022-06-14 13:05:19 +02:00
parent fa1cbdc848
commit 7684e97494
2 changed files with 144 additions and 0 deletions

View file

@ -0,0 +1,45 @@
describe DemarchesPubliquesExportService do
let(:procedure) { create(:procedure, :published, :with_service, :with_type_de_champ) }
let(:io) { StringIO.new }
describe 'call' do
it 'generate json for all closed procedures' do
expected_result = {
number: procedure.id,
title: procedure.libelle,
description: "Demande de subvention à l'intention des associations",
service: {
nom: procedure.service.nom,
organisme: "organisme",
typeOrganisme: "association"
},
cadreJuridique: "un cadre juridique important",
deliberation: nil,
datePublication: procedure.published_at.iso8601,
revision: {
champDescriptors: [
{
description: procedure.types_de_champ.first.description,
label: procedure.types_de_champ.first.libelle,
options: nil,
required: false,
type: "text",
champDescriptors: nil
}
]
}
}
DemarchesPubliquesExportService.new(io).call
expect(JSON.parse(io.string)[0]
.deep_symbolize_keys)
.to eq(expected_result)
end
it 'raises exception when procedure with bad data' do
procedure.libelle = nil
procedure.save(validate: false)
expect { DemarchesPubliquesExportService.new(io).call }.to raise_error(DemarchesPubliquesExportService::Error)
end
end
end