commit
8c2622e9ff
15 changed files with 66 additions and 49 deletions
|
@ -6,24 +6,24 @@ class SIADE::API
|
|||
def initialize
|
||||
end
|
||||
|
||||
def self.entreprise(siren)
|
||||
def self.entreprise(siren, procedure_id)
|
||||
endpoint = "/v2/entreprises/#{siren}"
|
||||
call(base_url + endpoint)
|
||||
call(base_url + endpoint, mandatory_params(siren, procedure_id))
|
||||
end
|
||||
|
||||
def self.etablissement(siret)
|
||||
def self.etablissement(siret, procedure_id)
|
||||
endpoint = "/v2/etablissements/#{siret}"
|
||||
call(base_url + endpoint)
|
||||
call(base_url + endpoint, mandatory_params(siret, procedure_id))
|
||||
end
|
||||
|
||||
def self.exercices(siret)
|
||||
def self.exercices(siret, procedure_id)
|
||||
endpoint = "/v2/exercices/#{siret}"
|
||||
call(base_url + endpoint)
|
||||
call(base_url + endpoint, mandatory_params(siret, procedure_id))
|
||||
end
|
||||
|
||||
def self.rna(siret)
|
||||
def self.rna(siret, procedure_id)
|
||||
endpoint = "/v2/associations/#{siret}"
|
||||
call(base_url + endpoint)
|
||||
call(base_url + endpoint, mandatory_params(siret, procedure_id))
|
||||
end
|
||||
|
||||
def self.call(url, params = {})
|
||||
|
@ -37,6 +37,14 @@ class SIADE::API
|
|||
).get(params: params)
|
||||
end
|
||||
|
||||
def self.mandatory_params(siret_or_siren, procedure_id)
|
||||
{
|
||||
context: "demarches-simplifiees.fr",
|
||||
recipient: siret_or_siren,
|
||||
object: "procedure_id: #{procedure_id}"
|
||||
}
|
||||
end
|
||||
|
||||
def self.base_url
|
||||
SIADEURL
|
||||
end
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
class SIADE::EntrepriseAdapter
|
||||
def initialize(siren)
|
||||
def initialize(siren, procedure_id)
|
||||
@siren = siren
|
||||
@procedure_id = procedure_id
|
||||
end
|
||||
|
||||
def data_source
|
||||
@data_source ||= JSON.parse(SIADE::API.entreprise(@siren), symbolize_names: true)
|
||||
@data_source ||= JSON.parse(SIADE::API.entreprise(@siren, @procedure_id), symbolize_names: true)
|
||||
rescue
|
||||
@data_source = nil
|
||||
end
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
class SIADE::EtablissementAdapter
|
||||
def initialize(siret)
|
||||
def initialize(siret, procedure_id)
|
||||
@siret = siret
|
||||
@procedure_id = procedure_id
|
||||
end
|
||||
|
||||
def data_source
|
||||
@data_source ||= JSON.parse(SIADE::API.etablissement(@siret), symbolize_names: true)
|
||||
@data_source ||= JSON.parse(SIADE::API.etablissement(@siret, @procedure_id), symbolize_names: true)
|
||||
end
|
||||
|
||||
def success?
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
class SIADE::ExercicesAdapter
|
||||
def initialize(siret)
|
||||
def initialize(siret, procedure_id)
|
||||
@siret = siret
|
||||
@procedure_id = procedure_id
|
||||
end
|
||||
|
||||
def data_source
|
||||
@data_source ||= JSON.parse(SIADE::API.exercices(@siret), symbolize_names: true)
|
||||
@data_source ||= JSON.parse(SIADE::API.exercices(@siret, @procedure_id), symbolize_names: true)
|
||||
rescue
|
||||
@data_source = nil
|
||||
end
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
class SIADE::RNAAdapter
|
||||
def initialize(siret)
|
||||
def initialize(siret, procedure_id)
|
||||
@siret = siret
|
||||
@procedure_id = procedure_id
|
||||
end
|
||||
|
||||
def data_source
|
||||
@data_source ||= JSON.parse(SIADE::API.rna(@siret), symbolize_names: true)
|
||||
@data_source ||= JSON.parse(SIADE::API.rna(@siret, @procedure_id), symbolize_names: true)
|
||||
end
|
||||
|
||||
def to_params
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
class SIRETService
|
||||
def self.fetch(siret, dossier = nil)
|
||||
etablissement = SIADE::EtablissementAdapter.new(siret)
|
||||
entreprise = SIADE::EntrepriseAdapter.new(siren(siret))
|
||||
etablissement = SIADE::EtablissementAdapter.new(siret, dossier&.procedure_id)
|
||||
entreprise = SIADE::EntrepriseAdapter.new(siren(siret), dossier&.procedure_id)
|
||||
|
||||
if etablissement.success? && entreprise.success?
|
||||
association = SIADE::RNAAdapter.new(siret)
|
||||
exercices = SIADE::ExercicesAdapter.new(siret)
|
||||
association = SIADE::RNAAdapter.new(siret, dossier&.procedure_id)
|
||||
exercices = SIADE::ExercicesAdapter.new(siret, dossier&.procedure_id)
|
||||
|
||||
params = etablissement.to_params
|
||||
.merge(entreprise.to_params.map { |k,v| ["entreprise_#{k}", v] }.to_h)
|
||||
|
|
|
@ -61,7 +61,6 @@ set :shared_paths, [
|
|||
'config/initializers/features.yml',
|
||||
"config/environments/#{rails_env}.rb",
|
||||
"config/initializers/token.rb",
|
||||
"config/initializers/urls.rb",
|
||||
"config/initializers/super_admin.rb",
|
||||
"config/unicorn.rb",
|
||||
"config/initializers/raven.rb",
|
||||
|
|
|
@ -30,14 +30,14 @@ feature 'user path for dossier creation' do
|
|||
end
|
||||
context 'sets siret' do
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{siret}?.*token=/)
|
||||
.to_return(body: File.read('spec/support/files/etablissement.json', status: 200))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/entreprises\/#{siren}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/entreprise.json'))
|
||||
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/exercices/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/exercices\/#{siret}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/associations/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/associations\/#{siret}?.*token=/)
|
||||
.to_return(status: 404, body: '')
|
||||
|
||||
page.find_by_id('dossier-siret').set siret
|
||||
|
|
|
@ -67,13 +67,13 @@ feature 'As a User I wanna create a dossier' do
|
|||
visit commencer_path(procedure_path: procedure_with_siret.path)
|
||||
expect(page).to have_current_path(users_dossier_path(procedure_with_siret.dossiers.last.id.to_s))
|
||||
fill_in 'dossier-siret', with: siret
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{siret}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/etablissement.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/entreprises\/#{siren}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/entreprise.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/exercices/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/exercices\/#{siret}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/associations/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/associations\/#{siret}?.*token=/)
|
||||
.to_return(status: 404, body: '')
|
||||
page.find_by_id('dossier-siret').set siret
|
||||
page.find_by_id('submit-siret').click
|
||||
|
|
|
@ -26,13 +26,13 @@ feature 'user arrive on siret page' do
|
|||
end
|
||||
context 'when enter a siret', js: true do
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{siret}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/etablissement.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/entreprises\/#{siren}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/entreprise.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/exercices/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/exercices\/#{siret}?.*token=/)
|
||||
.to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/associations/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/associations\/#{siret}?.*token=/)
|
||||
.to_return(status: 404, body: '')
|
||||
|
||||
page.find_by_id('dossier-siret').set siret
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe SIADE::API do
|
||||
let(:procedure_id) { 12 }
|
||||
describe '.entreprise' do
|
||||
subject { described_class.entreprise(siren) }
|
||||
subject { described_class.entreprise(siren, procedure_id) }
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/entreprises\/#{siren}?.*token=/)
|
||||
.to_return(status: status, body: body)
|
||||
end
|
||||
context 'when siren does not exist' do
|
||||
|
@ -28,9 +29,9 @@ describe SIADE::API do
|
|||
end
|
||||
|
||||
describe '.etablissement' do
|
||||
subject { described_class.etablissement(siret) }
|
||||
subject { described_class.etablissement(siret, procedure_id) }
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{siret}?.*token=/)
|
||||
.to_return(status: status, body: body)
|
||||
end
|
||||
|
||||
|
@ -62,7 +63,7 @@ describe SIADE::API do
|
|||
end
|
||||
|
||||
context 'when siret does not exist' do
|
||||
subject { described_class.exercices(siret) }
|
||||
subject { described_class.exercices(siret, procedure_id) }
|
||||
|
||||
let(:siret) { '11111111111111' }
|
||||
let(:status) { 404 }
|
||||
|
@ -74,7 +75,7 @@ describe SIADE::API do
|
|||
end
|
||||
|
||||
context 'when siret exists' do
|
||||
subject { described_class.exercices(siret) }
|
||||
subject { described_class.exercices(siret, procedure_id) }
|
||||
|
||||
let(:siret) { '41816609600051' }
|
||||
let(:status) { 200 }
|
||||
|
@ -92,7 +93,7 @@ describe SIADE::API do
|
|||
.to_return(status: status, body: body)
|
||||
end
|
||||
|
||||
subject { described_class.rna(siren) }
|
||||
subject { described_class.rna(siren, procedure_id) }
|
||||
|
||||
context 'when siren does not exist' do
|
||||
let(:siren) { '111111111' }
|
||||
|
|
|
@ -2,11 +2,12 @@ require 'spec_helper'
|
|||
|
||||
describe SIADE::EntrepriseAdapter do
|
||||
let(:siren) { '418166096' }
|
||||
let(:adapter) { described_class.new(siren) }
|
||||
let(:procedure_id) { 22 }
|
||||
let(:adapter) { described_class.new(siren, procedure_id) }
|
||||
subject { adapter.to_params }
|
||||
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/entreprises/#{siren}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/entreprises\/#{siren}?.*token=/)
|
||||
.to_return(body: File.read('spec/support/files/entreprise.json', status: 200))
|
||||
end
|
||||
|
||||
|
@ -69,7 +70,7 @@ describe SIADE::EntrepriseAdapter do
|
|||
end
|
||||
|
||||
context 'Mandataire sociaux' do
|
||||
subject { described_class.new(siren).to_params[:mandataires_sociaux] }
|
||||
subject { described_class.new(siren, procedure_id).to_params[:mandataires_sociaux] }
|
||||
|
||||
it '#to_params class est une Hash ?' do
|
||||
expect(subject).to be_an_instance_of(Array)
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe SIADE::EtablissementAdapter do
|
||||
let(:procedure_id) { 33 }
|
||||
|
||||
context 'SIRET valide' do
|
||||
let(:siret) { '41816609600051' }
|
||||
subject { described_class.new(siret).to_params }
|
||||
subject { described_class.new(siret, procedure_id).to_params }
|
||||
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{siret}?.*token=/)
|
||||
.to_return(body: File.read('spec/support/files/etablissement.json', status: 200))
|
||||
end
|
||||
|
||||
|
@ -70,10 +72,10 @@ describe SIADE::EtablissementAdapter do
|
|||
|
||||
context 'when siret is not found' do
|
||||
let(:bad_siret) { 11_111_111_111_111 }
|
||||
subject { described_class.new(bad_siret).to_params }
|
||||
subject { described_class.new(bad_siret, 12).to_params }
|
||||
|
||||
before do
|
||||
stub_request(:get, "https://staging.entreprise.api.gouv.fr/v2/etablissements/#{bad_siret}?token=#{SIADETOKEN}")
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/etablissements\/#{bad_siret}?.*token=/)
|
||||
.to_return(body: 'Fake body', status: 404)
|
||||
end
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@ require 'spec_helper'
|
|||
|
||||
describe SIADE::ExercicesAdapter do
|
||||
let(:siret) { '41816609600051' }
|
||||
subject { described_class.new(siret).to_params }
|
||||
let(:procedure_id) { 11 }
|
||||
subject { described_class.new(siret, procedure_id).to_params }
|
||||
|
||||
before do
|
||||
stub_request(:get, /https:\/\/staging.entreprise.api.gouv.fr\/v2\/exercices\/.*token=/)
|
||||
|
|
|
@ -2,9 +2,10 @@ require 'spec_helper'
|
|||
|
||||
describe SIADE::RNAAdapter do
|
||||
let(:siret) { '50480511000013' }
|
||||
let(:procedure_id) { 22 }
|
||||
let(:body) { File.read('spec/support/files/rna.json') }
|
||||
let(:status) { 200 }
|
||||
let(:adapter) { described_class.new(siret) }
|
||||
let(:adapter) { described_class.new(siret, procedure_id) }
|
||||
|
||||
subject { adapter.to_params }
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue