Merge branch 'develop' of github.com:sgmap/tps into develop

Conflicts:
	spec/views/users/dossiers/new_html.haml_spec.rb
This commit is contained in:
Tanguy PATTE 2015-12-14 17:30:21 +01:00
commit cea90384e4
9 changed files with 92 additions and 8 deletions

View file

@ -53,6 +53,7 @@ class Users::DossiersController < UsersController
@etablissement = Etablissement.new(SIADE::EtablissementAdapter.new(siret).to_params) @etablissement = Etablissement.new(SIADE::EtablissementAdapter.new(siret).to_params)
@entreprise = Entreprise.new(SIADE::EntrepriseAdapter.new(siren).to_params) @entreprise = Entreprise.new(SIADE::EntrepriseAdapter.new(siren).to_params)
rna_information = SIADE::RNAAdapter.new(siret).to_params
exercices = SIADE::ExercicesAdapter.new(siret).to_params exercices = SIADE::ExercicesAdapter.new(siret).to_params
unless exercices.nil? unless exercices.nil?
@ -68,6 +69,12 @@ class Users::DossiersController < UsersController
@entreprise.dossier = @dossier @entreprise.dossier = @dossier
@entreprise.save @entreprise.save
unless rna_information.nil?
rna_information = RNAInformation.new(rna_information)
rna_information.entreprise = @entreprise
rna_information.save
end
@etablissement.dossier = @dossier @etablissement.dossier = @dossier
@etablissement.entreprise = @entreprise @etablissement.entreprise = @entreprise
@etablissement.save @etablissement.save

View file

@ -54,3 +54,6 @@
= "#{exercice.dateFinExercice.year} : " = "#{exercice.dateFinExercice.year} : "
= number_to_currency(exercice.ca) = number_to_currency(exercice.ca)
%br %br
- unless @entreprise.rna_information.nil?
= render partial: '/dossiers/infos_rna'

View file

@ -0,0 +1,23 @@
.row#infos_rna
.col-lg-6.col-md-6
%dl.dl-horizontal
%dt Association ID :
%dd.text-success= @entreprise.rna_information.association_id
%dt Titre :
%dd= @entreprise.rna_information.titre
%dt Objet :
%dd= @entreprise.rna_information.objet
.col-lg-6.col-md-6
%dl.dl-horizontal
%dt Date création :
%dd= @entreprise.rna_information.date_creation
%dt Capital publication :
%dd= @entreprise.rna_information.date_publication
%dt Capital déclaration :
%dd= @entreprise.rna_information.date_declaration

View file

@ -4,7 +4,7 @@ class SIADE::RNAAdapter
end end
def data_source def data_source
@data_source ||= JSON.parse(SIADE::API.rna(@siren), symbolize_names: true) @data_source ||= JSON.parse(SIADE::API.rna(@siret), symbolize_names: true)
end end
def to_params def to_params
@ -12,8 +12,15 @@ class SIADE::RNAAdapter
data_source[:association].each do |k, v| data_source[:association].each do |k, v|
params[k] = v if attr_to_fetch.include?(k) params[k] = v if attr_to_fetch.include?(k)
end end
params[:association_id] = params[:id]
params.delete(:id)
params params
rescue
nil
end end
def attr_to_fetch def attr_to_fetch

View file

@ -9,6 +9,9 @@ describe Users::DossiersController, type: :controller do
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:siret_not_found) { 999_999_999_999 } let(:siret_not_found) { 999_999_999_999 }
let(:rna_status) { 404 }
let(:rna_body) { '' }
let(:siren) { dossier.siren } let(:siren) { dossier.siren }
let(:siret) { dossier.siret } let(:siret) { dossier.siret }
let(:bad_siret) { 1 } let(:bad_siret) { 1 }
@ -76,9 +79,12 @@ describe Users::DossiersController, type: :controller do
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}") stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 200, body: File.read('spec/support/files/exercices.json')) .to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: rna_status, body: rna_body)
end end
describe 'professionnel fills form' do describe 'dossier attributs' do
let(:user) { create(:user) } let(:user) { create(:user) }
context 'with valid siret ' do context 'with valid siret ' do
before do before do
@ -87,7 +93,6 @@ describe Users::DossiersController, type: :controller do
subject { post :create, dossier: {siret: siret, procedure_id: Procedure.last} } subject { post :create, dossier: {siret: siret, procedure_id: Procedure.last} }
it 'create a dossier' do it 'create a dossier' do
expect { subject }.to change { Dossier.count }.by(1) expect { subject }.to change { Dossier.count }.by(1)
end end
@ -134,6 +139,31 @@ describe Users::DossiersController, type: :controller do
subject subject
expect(Dossier.last.state).to eq('draft') expect(Dossier.last.state).to eq('draft')
end end
describe 'get rna informations' do
context 'when siren have not rna informations' do
let(:rna_status) { 404 }
let(:rna_body) { '' }
it 'not creates rna information for entreprise' do
expect { subject }.to change { RNAInformation.count }.by(0)
end
end
context 'when siren have rna informations' do
let(:rna_status) { 200 }
let(:rna_body) { File.read('spec/support/files/rna.json') }
it 'creates rna information for entreprise' do
expect { subject }.to change { RNAInformation.count }.by(1)
end
it 'links rna informations to entreprise' do
subject
expect(RNAInformation.last.entreprise).to eq(Entreprise.last)
end
end
end
end end
context 'with non existant siret' do context 'with non existant siret' do

View file

@ -34,6 +34,9 @@ feature 'user path for dossier creation' do
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}") stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 200, body: File.read('spec/support/files/exercices.json')) .to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 404, body: '')
page.find_by_id('dossier_siret').set siret page.find_by_id('dossier_siret').set siret
page.click_on 'Commencer' page.click_on 'Commencer'
end end

View file

@ -31,6 +31,9 @@ feature 'user arrive on siret page' do
.to_return(status: 200, body: File.read('spec/support/files/entreprise.json')) .to_return(status: 200, body: File.read('spec/support/files/entreprise.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}") stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/etablissements/exercices/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 200, body: File.read('spec/support/files/exercices.json')) .to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/associations/#{siret}?token=#{SIADETOKEN}")
.to_return(status: 404, body: '')
page.find_by_id('dossier_siret').set siret page.find_by_id('dossier_siret').set siret
page.click_on 'Commencer' page.click_on 'Commencer'
end end

View file

@ -1,12 +1,21 @@
require 'spec_helper' require 'spec_helper'
describe SIADE::RNAAdapter do describe SIADE::RNAAdapter do
let(:siren) { '418166096' } let(:siret) { '50480511000013' }
subject { described_class.new(siren).to_params } let(:body) { File.read('spec/support/files/rna.json') }
let(:status) { 200 }
subject { described_class.new(siret).to_params }
before do before do
stub_request(:get, /https:\/\/api-dev.apientreprise.fr\/api\/v1\/associations\/.*token=/) stub_request(:get, /https:\/\/api-dev.apientreprise.fr\/api\/v1\/associations\/.*token=/)
.to_return(body: File.read('spec/support/files/rna.json', status: 200)) .to_return(body: body, status: status)
end
context 'when siret is not valid' do
let(:siret) { '234567' }
let(:body) { '' }
let(:status) { '404' }
it { is_expected.to eq(nil) }
end end
it '#to_params class est une Hash ?' do it '#to_params class est une Hash ?' do
@ -15,7 +24,7 @@ describe SIADE::RNAAdapter do
context 'Attributs Associations' do context 'Attributs Associations' do
it 'L\'associations contient bien un id' do it 'L\'associations contient bien un id' do
expect(subject[:id]).to eq('W595001988') expect(subject[:association_id]).to eq('W595001988')
end end
it 'L\'associations contient bien un titre' do it 'L\'associations contient bien un titre' do

View file

@ -41,7 +41,6 @@ describe 'users/dossiers/new.html.haml', type: :view do
let(:logo) { File.new(File.join(::Rails.root.to_s, "/spec/support/files", "logo_test_procedure.png")) } let(:logo) { File.new(File.join(::Rails.root.to_s, "/spec/support/files", "logo_test_procedure.png")) }
it 'Procedure logo is present' do it 'Procedure logo is present' do
is_expected.to have_css("img[src='#{procedure.logo}']") is_expected.to have_css("img[src='#{procedure.logo}']")
end end
end end