Merge branch 'develop' of github.com:sgmap/tps into develop
Conflicts: db/schema.rb
This commit is contained in:
commit
f75f0e26d6
80 changed files with 694 additions and 650 deletions
|
@ -18,7 +18,7 @@ describe Admin::PiecesJustificativesController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
|
||||
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
|
||||
end
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ describe Admin::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
|
||||
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
|
||||
end
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ describe Admin::TypesDeChampController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when procedure have at least a file' do
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure, state: :initiated) }
|
||||
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) }
|
||||
it { is_expected.to redirect_to admin_procedure_path id: procedure_id }
|
||||
end
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Backoffice::CommentairesController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'test@test.com' }
|
||||
let(:texte_commentaire) { 'Commentaire de test' }
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Backoffice::DossiersController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_user) }
|
||||
let(:dossier_archived) { create(:dossier, :with_entreprise, :with_user, archived: true) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise) }
|
||||
let(:dossier_archived) { create(:dossier, :with_entreprise, archived: true) }
|
||||
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:bad_dossier_id) { Dossier.count + 10 }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Users::CommentairesController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'test@test.com' }
|
||||
let(:texte_commentaire) { 'Commentaire de test' }
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
# require 'spec_helper'
|
||||
#
|
||||
# describe FranceConnect::EntrepriseController, type: :controller do
|
||||
#
|
||||
# describe '.login' do
|
||||
# it 'redirect to france connect serveur' do
|
||||
# get :login
|
||||
# expect(response.status).to eq(302)
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# describe '.callback' do
|
||||
# context 'when param code is missing' do
|
||||
# it 'redirect to login page' do
|
||||
# get :callback
|
||||
# expect(response).to redirect_to(new_user_session_path)
|
||||
# end
|
||||
# end
|
||||
# context 'when params code is present' do
|
||||
# let(:code) { 'plop' }
|
||||
# let(:email) { 'patator@cake.com' }
|
||||
# let(:siret) { '41123069100049' }
|
||||
# let(:user_info) { Hashie::Mash.new(email: email, siret: siret) }
|
||||
# context 'when code is correct' do
|
||||
# let(:email) { 'patator@cake.com' }
|
||||
# let(:current_user) { User.find_by_email(email) }
|
||||
#
|
||||
# before do
|
||||
# allow(FranceConnectService).to receive(:retrieve_user_informations_entreprise).and_return(user_info)
|
||||
# get :callback, code: code
|
||||
# end
|
||||
#
|
||||
# it 'current user have attribut loged_in_with_france_connect at enterprise' do
|
||||
# expect(current_user.loged_in_with_france_connect).to eq 'entreprise'
|
||||
# end
|
||||
# let(:stored_location) { '/plip/plop' }
|
||||
# it 'redirect to stored location' do
|
||||
# subject.store_location_for(:user, stored_location)
|
||||
# get :callback, code: code
|
||||
# expect(response).to redirect_to(stored_location)
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# context 'when code is not correct' do
|
||||
# before do
|
||||
# allow(FranceConnectService).to receive(:retrieve_user_informations_entreprise) { raise Rack::OAuth2::Client::Error.new(500, error: 'Unknown') }
|
||||
# get :callback, code: code
|
||||
# end
|
||||
#
|
||||
# it 'redirect to login page' do
|
||||
# expect(response).to redirect_to(new_user_session_path)
|
||||
# end
|
||||
#
|
||||
# it 'display error message' do
|
||||
# expect(flash[:alert]).to be_present
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
|
@ -81,28 +81,20 @@ describe FranceConnect::ParticulierController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'POST #create' do
|
||||
let(:email) { 'plop@gmail.com' }
|
||||
|
||||
subject { post :create, user: user_info }
|
||||
|
||||
context 'when email is filled' do
|
||||
it { expect { subject }.to change { User.count }.by(1) }
|
||||
let(:email) { 'plop@gmail.com' }
|
||||
|
||||
it 'redirects user root page' do
|
||||
subject
|
||||
expect(response).to redirect_to(root_path)
|
||||
end
|
||||
it { expect { subject }.to change { User.count }.by(1) }
|
||||
it { expect(subject).to redirect_to(root_path) }
|
||||
end
|
||||
|
||||
context 'when email is incorrect' do
|
||||
let(:email) { '' }
|
||||
|
||||
it { expect { subject }.to change { User.count }.by(0) }
|
||||
|
||||
it 'redirect to check email FC page' do
|
||||
subject
|
||||
expect(response).to redirect_to(france_connect_particulier_new_path(user: user_info))
|
||||
end
|
||||
it { expect(subject).to redirect_to(france_connect_particulier_new_path(user: user_info)) }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -3,10 +3,11 @@ require 'spec_helper'
|
|||
RSpec.describe Users::CarteController, type: :controller do
|
||||
let(:bad_adresse) { 'babouba' }
|
||||
|
||||
let(:procedure) { create(:procedure, :with_api_carto) }
|
||||
let(:dossier) { create(:dossier, :with_user, procedure: procedure) }
|
||||
let(:module_api_carto) { create(:module_api_carto, :with_api_carto) }
|
||||
let(:procedure) { create(:procedure, module_api_carto: module_api_carto) }
|
||||
let(:dossier) { create(:dossier, procedure: procedure) }
|
||||
|
||||
let(:dossier_with_no_carto) { create(:dossier, :with_user, :with_procedure) }
|
||||
let(:dossier_with_no_carto) { create(:dossier, :with_procedure) }
|
||||
let!(:entreprise) { create(:entreprise, dossier: dossier) }
|
||||
let!(:etablissement) { create(:etablissement, dossier: dossier) }
|
||||
let(:bad_dossier_id) { Dossier.count + 1000 }
|
||||
|
@ -59,7 +60,7 @@ RSpec.describe Users::CarteController, type: :controller do
|
|||
end
|
||||
|
||||
context 'En train de modifier la localisation' do
|
||||
let(:dossier) { create(:dossier, :with_procedure, :with_user, state: 'initiated') }
|
||||
let(:dossier) { create(:dossier, :with_procedure, state: 'initiated') }
|
||||
before do
|
||||
post :save, dossier_id: dossier.id, json_latlngs: ''
|
||||
end
|
||||
|
@ -86,6 +87,8 @@ RSpec.describe Users::CarteController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'Save quartier prioritaire' do
|
||||
let(:module_api_carto) { create(:module_api_carto, :with_quartiers_prioritaires) }
|
||||
|
||||
before do
|
||||
allow_any_instance_of(CARTO::SGMAP::QuartiersPrioritaires::Adapter).
|
||||
to receive(:to_params).
|
||||
|
@ -96,7 +99,7 @@ RSpec.describe Users::CarteController, type: :controller do
|
|||
|
||||
context 'when json_latlngs params is empty' do
|
||||
context 'when dossier have quartier prioritaire in database' do
|
||||
let!(:dossier) { create(:dossier, :with_user, :with_procedure, :with_two_quartier_prioritaires) }
|
||||
let!(:dossier) { create(:dossier, :with_procedure, :with_two_quartier_prioritaires) }
|
||||
|
||||
before do
|
||||
dossier.reload
|
||||
|
@ -117,10 +120,6 @@ RSpec.describe Users::CarteController, type: :controller do
|
|||
context 'when json_latlngs params is informed' do
|
||||
let(:json_latlngs) { '[[{"lat":48.87442541960633,"lng":2.3859214782714844},{"lat":48.87273183590832,"lng":2.3850631713867183},{"lat":48.87081237174292,"lng":2.3809432983398438},{"lat":48.8712640169951,"lng":2.377510070800781},{"lat":48.87510283703279,"lng":2.3778533935546875},{"lat":48.87544154230615,"lng":2.382831573486328},{"lat":48.87442541960633,"lng":2.3859214782714844}]]' }
|
||||
|
||||
before do
|
||||
dossier.reload
|
||||
end
|
||||
|
||||
it { expect(dossier.quartier_prioritaires.size).to eq(1) }
|
||||
|
||||
describe 'Quartier Prioritaire' do
|
||||
|
@ -133,12 +132,65 @@ RSpec.describe Users::CarteController, type: :controller do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'Save cadastre' do
|
||||
let(:module_api_carto) { create(:module_api_carto, :with_cadastre) }
|
||||
|
||||
before do
|
||||
allow_any_instance_of(CARTO::SGMAP::Cadastre::Adapter).
|
||||
to receive(:to_params).
|
||||
and_return([{:surface_intersection=>"0.0006", :surface_parcelle=>11252.692583090324, :numero=>"0013", :feuille=>1, :section=>"CD", :code_dep=>"30", :nom_com=>"Le Grau-du-Roi", :code_com=>"133", :code_arr=>"000", :geometry=>{:type=>"MultiPolygon", :coordinates=>[[[[4.134084, 43.5209193], [4.1346615, 43.5212035], [4.1346984, 43.521189], [4.135096, 43.5213848], [4.1350839, 43.5214122], [4.1352697, 43.521505], [4.1356278, 43.5211065], [4.1357402, 43.5207188], [4.1350935, 43.5203936], [4.135002, 43.5204366], [4.1346051, 43.5202412], [4.134584, 43.5202472], [4.1345572, 43.5202551], [4.134356, 43.5203137], [4.1342488, 43.5203448], [4.134084, 43.5209193]]]]}}])
|
||||
|
||||
post :save, dossier_id: dossier.id, json_latlngs: json_latlngs
|
||||
end
|
||||
|
||||
context 'when json_latlngs params is empty' do
|
||||
context 'when dossier have cadastres in database' do
|
||||
let!(:dossier) { create(:dossier, :with_procedure, :with_two_cadastres) }
|
||||
|
||||
before do
|
||||
dossier.reload
|
||||
end
|
||||
|
||||
context 'when value is empty' do
|
||||
let(:json_latlngs) { '' }
|
||||
it { expect(dossier.cadastres.size).to eq(0) }
|
||||
end
|
||||
|
||||
context 'when value is empty array' do
|
||||
let(:json_latlngs) { '[]' }
|
||||
it { expect(dossier.cadastres.size).to eq(0) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when json_latlngs params is informed' do
|
||||
let(:json_latlngs) { '[[{"lat":48.87442541960633,"lng":2.3859214782714844},{"lat":48.87273183590832,"lng":2.3850631713867183},{"lat":48.87081237174292,"lng":2.3809432983398438},{"lat":48.8712640169951,"lng":2.377510070800781},{"lat":48.87510283703279,"lng":2.3778533935546875},{"lat":48.87544154230615,"lng":2.382831573486328},{"lat":48.87442541960633,"lng":2.3859214782714844}]]' }
|
||||
|
||||
it { expect(dossier.cadastres.size).to eq(1) }
|
||||
|
||||
describe 'Cadastre' do
|
||||
subject { Cadastre.last }
|
||||
|
||||
it { expect(subject.surface_intersection).to eq('0.0006') }
|
||||
it { expect(subject.surface_parcelle).to eq(11252.6925830903) }
|
||||
it { expect(subject.numero).to eq('0013') }
|
||||
it { expect(subject.feuille).to eq(1) }
|
||||
it { expect(subject.section).to eq('CD') }
|
||||
it { expect(subject.code_dep).to eq('30') }
|
||||
it { expect(subject.nom_com).to eq('Le Grau-du-Roi') }
|
||||
it { expect(subject.code_com).to eq('133') }
|
||||
it { expect(subject.code_arr).to eq('000') }
|
||||
it { expect(subject.geometry).to eq({"type"=>"MultiPolygon", "coordinates"=>[[[[4.134084, 43.5209193], [4.1346615, 43.5212035], [4.1346984, 43.521189], [4.135096, 43.5213848], [4.1350839, 43.5214122], [4.1352697, 43.521505], [4.1356278, 43.5211065], [4.1357402, 43.5207188], [4.1350935, 43.5203936], [4.135002, 43.5204366], [4.1346051, 43.5202412], [4.134584, 43.5202472], [4.1345572, 43.5202551], [4.134356, 43.5203137], [4.1342488, 43.5203448], [4.134084, 43.5209193]]]]}) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#get_position' do
|
||||
context 'Geocodeur renvoie des positions nil' do
|
||||
let(:etablissement) { create(:etablissement, adresse: bad_adresse, numero_voie: 'dzj', type_voie: 'fzjfk', nom_voie: 'hdidjkz', complement_adresse: 'fjef', code_postal: 'fjeiefk', localite: 'zjfkfz') }
|
||||
let(:dossier) { create(:dossier, :with_procedure, :with_user, etablissement: etablissement) }
|
||||
let(:dossier) { create(:dossier, :with_procedure, etablissement: etablissement) }
|
||||
before do
|
||||
stub_request(:get, /http:\/\/api-adresse[.]data[.]gouv[.]fr\/search[?]limit=1&q=/)
|
||||
.to_return(status: 200, body: '{"query": "babouba", "version": "draft", "licence": "ODbL 1.0", "features": [], "type": "FeatureCollection", "attribution": "BAN"}', headers: {})
|
||||
|
|
|
@ -12,6 +12,9 @@ describe Users::DossiersController, type: :controller do
|
|||
let(:rna_status) { 404 }
|
||||
let(:rna_body) { '' }
|
||||
|
||||
let(:exercices_status) { 200 }
|
||||
let(:exercices_body) { File.read('spec/support/files/exercices.json') }
|
||||
|
||||
let(:siren) { dossier.siren }
|
||||
let(:siret) { dossier.siret }
|
||||
let(:bad_siret) { 1 }
|
||||
|
@ -78,7 +81,7 @@ describe Users::DossiersController, type: :controller do
|
|||
.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}")
|
||||
.to_return(status: 200, body: File.read('spec/support/files/exercices.json'))
|
||||
.to_return(status: exercices_status, body: exercices_body)
|
||||
|
||||
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/associations/#{siret}?token=#{SIADETOKEN}")
|
||||
.to_return(status: rna_status, body: rna_body)
|
||||
|
@ -131,6 +134,13 @@ describe Users::DossiersController, type: :controller do
|
|||
expect(Exercice.last.etablissement).to eq(Dossier.last.etablissement)
|
||||
end
|
||||
|
||||
context 'when siret have no exercices' do
|
||||
let(:exercices_status) { 404 }
|
||||
let(:exercices_body) { '' }
|
||||
|
||||
it { expect { subject }.not_to change { Exercice.count } }
|
||||
end
|
||||
|
||||
it 'links procedure to dossier' do
|
||||
subject
|
||||
expect(Dossier.last.procedure).to eq(Procedure.last)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Users::RecapitulatifController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_user, :with_procedure) }
|
||||
let(:dossier) { create(:dossier, :with_procedure) }
|
||||
let(:bad_dossier_id) { Dossier.count + 100000 }
|
||||
|
||||
before do
|
||||
|
|
|
@ -17,7 +17,7 @@ describe Users::RegistrationsController, type: :controller do
|
|||
context 'when user is correct' do
|
||||
it { expect(described_class).to be < Devise::RegistrationsController }
|
||||
|
||||
it 'welcome email is send' do
|
||||
it 'sends welcome email' do
|
||||
expect(WelcomeMailer).to receive(:welcome_email).and_return(WelcomeMailer)
|
||||
expect(WelcomeMailer).to receive(:deliver_now!)
|
||||
|
||||
|
@ -28,7 +28,7 @@ describe Users::RegistrationsController, type: :controller do
|
|||
context 'when user is not correct' do
|
||||
let(:user) { {email: '', password: password, password_confirmation: password} }
|
||||
|
||||
it 'welcome email is not send' do
|
||||
it 'not sends welcome email' do
|
||||
expect(WelcomeMailer).not_to receive(:welcome_email)
|
||||
|
||||
subject
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe DossierDecorator do
|
||||
let(:dossier) { create(:dossier, :with_user, updated_at: Time.new(2015, 12, 24, 14, 10)) }
|
||||
let(:dossier) { create(:dossier, updated_at: Time.new(2015, 12, 24, 14, 10)) }
|
||||
subject { dossier.decorate }
|
||||
|
||||
describe 'last_update' do
|
||||
|
|
|
@ -3,13 +3,13 @@ require 'spec_helper'
|
|||
describe AdminProceduresShowFacades do
|
||||
let!(:procedure) { create(:procedure) }
|
||||
|
||||
let!(:dossier_0) { create(:dossier, :with_user, procedure: procedure, state: 'draft') }
|
||||
let!(:dossier_1) { create(:dossier, :with_user, procedure: procedure, state: 'initiated') }
|
||||
let!(:dossier_2) { create(:dossier, :with_user, procedure: procedure, state: 'validated') }
|
||||
let!(:dossier_3) { create(:dossier, :with_user, procedure: procedure, state: 'validated') }
|
||||
let!(:dossier_4) { create(:dossier, :with_user, procedure: procedure, archived: true, state: 'validated') }
|
||||
let!(:dossier_5) { create(:dossier, :with_user, procedure: procedure, archived: true, state: 'validated') }
|
||||
let!(:dossier_6) { create(:dossier, :with_user, procedure: procedure, archived: true, state: 'initiated') }
|
||||
let!(:dossier_0) { create(:dossier, procedure: procedure, state: 'draft') }
|
||||
let!(:dossier_1) { create(:dossier, procedure: procedure, state: 'initiated') }
|
||||
let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'validated') }
|
||||
let!(:dossier_3) { create(:dossier, procedure: procedure, state: 'validated') }
|
||||
let!(:dossier_4) { create(:dossier, procedure: procedure, archived: true, state: 'validated') }
|
||||
let!(:dossier_5) { create(:dossier, procedure: procedure, archived: true, state: 'validated') }
|
||||
let!(:dossier_6) { create(:dossier, procedure: procedure, archived: true, state: 'initiated') }
|
||||
|
||||
subject { AdminProceduresShowFacades.new procedure }
|
||||
|
||||
|
|
7
spec/factories/cadastre.rb
Normal file
7
spec/factories/cadastre.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
FactoryGirl.define do
|
||||
factory :cadastre do
|
||||
numero '001'
|
||||
feuille 1
|
||||
section 'OM'
|
||||
end
|
||||
end
|
|
@ -2,6 +2,7 @@ FactoryGirl.define do
|
|||
factory :dossier do
|
||||
nom_projet "Demande de subvention dans le cadre d'accompagnement d'enfant à l'étranger"
|
||||
state 'draft'
|
||||
association :user, factory:[:user]
|
||||
|
||||
trait :with_entreprise do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
|
@ -19,12 +20,6 @@ FactoryGirl.define do
|
|||
end
|
||||
end
|
||||
|
||||
trait :with_user do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
dossier.user = create(:user)
|
||||
end
|
||||
end
|
||||
|
||||
trait :with_two_quartier_prioritaires do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
|
||||
|
@ -35,5 +30,16 @@ FactoryGirl.define do
|
|||
dossier.quartier_prioritaires << qp2
|
||||
end
|
||||
end
|
||||
|
||||
trait :with_two_cadastres do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
|
||||
qp1 = create(:cadastre)
|
||||
qp2 = create(:cadastre)
|
||||
|
||||
dossier.cadastres << qp1
|
||||
dossier.cadastres << qp2
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ feature 'procedure locked' do
|
|||
end
|
||||
context 'when procedure have at least a file' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :initiated)
|
||||
create(:dossier, procedure: procedure, state: :initiated)
|
||||
visit admin_procedure_path(procedure)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'add commentaire on backoffice' do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let!(:commentaire) { create(:commentaire, dossier: dossier, email: 'toto@toto.com') }
|
||||
let(:email_commentaire) { 'test@test.com' }
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'spec_helper'
|
|||
|
||||
feature 'when gestionnaire come to /backoffice and is not authenticated' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let!(:dossier) { create(:dossier, :with_user, procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, procedure: procedure) }
|
||||
before do
|
||||
visit backoffice_path
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ feature 'on backoffice page' do
|
|||
let(:gestionnaire) { create(:gestionnaire, administrateur: administrateur) }
|
||||
let(:procedure) { create(:procedure, administrateur: administrateur) }
|
||||
|
||||
let!(:dossier) { create(:dossier, :with_user, :with_entreprise, procedure: procedure, state: 'initiated') }
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') }
|
||||
before do
|
||||
visit backoffice_path
|
||||
end
|
||||
|
|
|
@ -37,8 +37,8 @@ feature 'search file on gestionnaire backoffice' do
|
|||
|
||||
context 'when terms input does return result' do
|
||||
let!(:procedure) { create(:procedure, administrateur: administrateur) }
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, :with_user, procedure: procedure, state: 'initiated') }
|
||||
let!(:dossier_2) { create(:dossier, :with_user, procedure: procedure, state: 'initiated', nom_projet: 'Projet de test') }
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') }
|
||||
let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'initiated', nom_projet: 'Projet de test') }
|
||||
|
||||
let(:terms) { dossier.nom_projet }
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'user is on description page' do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure) }
|
||||
before do
|
||||
visit users_dossier_description_path dossier
|
||||
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
# require 'spec_helper'
|
||||
#
|
||||
# feature 'France Connect Connexion' do
|
||||
# context 'when user is on login page' do
|
||||
#
|
||||
# before do
|
||||
# visit new_user_session_path
|
||||
# end
|
||||
#
|
||||
# scenario 'link to France Connect is present' do
|
||||
# expect(page).to have_css('a#btn_fce')
|
||||
# end
|
||||
#
|
||||
# context 'and click on france connect link' do
|
||||
# let(:code) { 'plop' }
|
||||
#
|
||||
# context 'when authentification is ok' do
|
||||
# before do
|
||||
# allow_any_instance_of(FranceConnectEntrepriseClient).to receive(:authorization_uri).and_return(france_connect_entreprise_callback_path(code: code))
|
||||
# allow(FranceConnectService).to receive(:retrieve_user_informations_entreprise).and_return(Hashie::Mash.new(email: 'patator@cake.com'))
|
||||
# page.find_by_id('btn_fce').click
|
||||
# end
|
||||
#
|
||||
# scenario 'he is redirected to france connect' do
|
||||
# expect(page).to have_content('Mes dossiers')
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# context 'when authentification is not ok' do
|
||||
# before do
|
||||
# allow_any_instance_of(FranceConnectEntrepriseClient).to receive(:authorization_uri).and_return(france_connect_entreprise_callback_path(code: code))
|
||||
# allow(FranceConnectService).to receive(:retrieve_user_informations_entreprise) { raise Rack::OAuth2::Client::Error.new(500, error: 'Unknown') }
|
||||
# page.find_by_id('btn_fce').click
|
||||
# end
|
||||
#
|
||||
# scenario 'he is redirected to login page' do
|
||||
# expect(page).to have_css('a#btn_fce')
|
||||
# end
|
||||
#
|
||||
# scenario 'error message is displayed' do
|
||||
# expect(page).to have_content(I18n.t('errors.messages.france_connect.connexion'))
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
||||
#
|
||||
# feature 'redirection' do
|
||||
# before do
|
||||
# visit initial_path
|
||||
# end
|
||||
# context 'when he use france connect' do
|
||||
# let(:code) { 'my_code' }
|
||||
# let(:email) { 'plop@plop.com' }
|
||||
# let(:siret) { '00000000000000' }
|
||||
# let(:user_infos) { Hashie::Mash.new(email: email, siret: siret) }
|
||||
# before do
|
||||
# allow_any_instance_of(FranceConnectEntrepriseClient).to receive(:authorization_uri).and_return(france_connect_entreprise_callback_path(code: code))
|
||||
# allow(FranceConnectService).to receive(:retrieve_user_informations_entreprise).and_return(user_infos)
|
||||
# page.find_by_id('btn_fce').click
|
||||
# end
|
||||
# context 'when starting page is dossiers list' do
|
||||
# let(:initial_path) { users_dossiers_path }
|
||||
# scenario 'he is redirected to dossier list' do
|
||||
# expect(page).to have_css('#users_index')
|
||||
# end
|
||||
# end
|
||||
# context 'when starting page is procedure' do
|
||||
# let(:procedure) { create(:procedure) }
|
||||
# let(:initial_path) { new_users_dossiers_path(procedure_id: procedure.id ) }
|
||||
# scenario 'he is redirected to siret page' do
|
||||
# expect(page).to have_css('#users_siret_index')
|
||||
# end
|
||||
#
|
||||
# scenario 'the siret is already written in form' do
|
||||
# expect(page.find_by_id('dossier_siret').value).to have_content(siret)
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
|
@ -12,7 +12,13 @@ feature 'France Connect Particulier Connexion' do
|
|||
let(:know_france_connect_particulier_id) { 'blabla' }
|
||||
let(:unknow_france_connect_particulier_id) { 'titi' }
|
||||
|
||||
let(:user_info) { Hashie::Mash.new(france_connect_particulier_id: france_connect_particulier_id, given_name: given_name, family_name: family_name, birthdate: birthdate, birthplace: birthplace, gender: gender, email: email) }
|
||||
let(:user_info) { Hashie::Mash.new(france_connect_particulier_id: france_connect_particulier_id,
|
||||
given_name: given_name,
|
||||
family_name: family_name,
|
||||
birthdate: birthdate,
|
||||
birthplace: birthplace,
|
||||
gender: gender,
|
||||
email: email) }
|
||||
|
||||
context 'when user is on login page' do
|
||||
|
||||
|
@ -28,7 +34,13 @@ feature 'France Connect Particulier Connexion' do
|
|||
let(:code) { 'plop' }
|
||||
|
||||
context 'when authentification is ok' do
|
||||
let!(:user) { create(:user, france_connect_particulier_id: know_france_connect_particulier_id, given_name: given_name, family_name: family_name, birthdate: birthdate, birthplace: birthplace, gender: gender) }
|
||||
let!(:user) { create(:user,
|
||||
france_connect_particulier_id: know_france_connect_particulier_id,
|
||||
given_name: given_name,
|
||||
family_name: family_name,
|
||||
birthdate: birthdate,
|
||||
birthplace: birthplace,
|
||||
gender: gender) }
|
||||
|
||||
before do
|
||||
allow_any_instance_of(FranceConnectParticulierClient).to receive(:authorization_uri).and_return(france_connect_particulier_callback_path(code: code))
|
||||
|
|
|
@ -5,7 +5,7 @@ feature 'user access to the list of his dossier' do
|
|||
let(:user) { create(:user) }
|
||||
let!(:last_updated_dossier) { create(:dossier, :with_procedure, user: user, state: 'replied')}
|
||||
let!(:dossier1) { create(:dossier, :with_procedure, user: user, nom_projet: 'mon permier dossier', state: 'replied') }
|
||||
let!(:dossier2) { create(:dossier, :with_user, nom_projet: 'mon deuxième dossier') }
|
||||
let!(:dossier2) { create(:dossier, nom_projet: 'mon deuxième dossier') }
|
||||
|
||||
before do
|
||||
last_updated_dossier.update_attributes(nom_projet: 'salut la compagnie')
|
||||
|
|
|
@ -18,6 +18,22 @@ describe CARTO::SGMAP::Cadastre::Adapter do
|
|||
it { expect(subject).to be_a_instance_of(Array) }
|
||||
it { expect(subject.size).to eq 16 }
|
||||
|
||||
describe 'Attribut filter' do
|
||||
let(:adapter) { described_class.new(coordinates) }
|
||||
subject { adapter.filter_properties adapter.data_source }
|
||||
|
||||
it { expect(subject.size).to eq 9 }
|
||||
it { expect(subject.keys).to eq [:surface_intersection,
|
||||
:surface_parcelle,
|
||||
:numero,
|
||||
:feuille,
|
||||
:section,
|
||||
:code_dep,
|
||||
:nom_com,
|
||||
:code_com,
|
||||
:code_arr] }
|
||||
end
|
||||
|
||||
describe 'Attributes' do
|
||||
subject { super().first }
|
||||
|
||||
|
@ -31,7 +47,7 @@ describe CARTO::SGMAP::Cadastre::Adapter do
|
|||
it { expect(subject[:code_com]).to eq('046') }
|
||||
it { expect(subject[:code_arr]).to eq('000') }
|
||||
|
||||
it { expect(subject[:geometry]).to eq({type: "MultiPolygon", coordinates: [[[[2.4362443, 48.8092078], [2.436384, 48.8092043], [2.4363802, 48.8091414]]]] })}
|
||||
it { expect(subject[:geometry]).to eq({type: "MultiPolygon", coordinates: [[[[2.4362443, 48.8092078], [2.436384, 48.8092043], [2.4363802, 48.8091414]]]]}) }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ describe SIADE::EntrepriseAdapter do
|
|||
|
||||
before do
|
||||
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/entreprises/418166096?token=#{SIADETOKEN}")
|
||||
.to_return(body: File.read('spec/support/files/entreprise.json', status: 200))
|
||||
.to_return(body: File.read('spec/support/files/entreprise.json', status: 200))
|
||||
end
|
||||
|
||||
it '#to_params class est une Hash ?' do
|
||||
|
@ -61,4 +61,35 @@ describe SIADE::EntrepriseAdapter do
|
|||
expect(subject[:prenom]).to eq('test_prenom')
|
||||
end
|
||||
end
|
||||
|
||||
context 'Mandataire sociaux' do
|
||||
subject { described_class.new('418166096').mandataires_sociaux }
|
||||
|
||||
it '#to_params class est une Hash ?' do
|
||||
expect(subject).to be_an_instance_of(Array)
|
||||
end
|
||||
|
||||
it { expect(subject.size).to eq(8) }
|
||||
|
||||
describe 'Attributs' do
|
||||
it 'Un mandataire social possède bien un nom' do
|
||||
expect(subject[0][:nom]).to eq('HISQUIN')
|
||||
end
|
||||
it 'Un mandataire social possède bien un prenom' do
|
||||
expect(subject[0][:prenom]).to eq('FRANCOIS')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une fonction' do
|
||||
expect(subject[0][:fonction]).to eq('PRESIDENT DU DIRECTOIRE')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une date de naissance' do
|
||||
expect(subject[0][:date_naissance]).to eq('1965-01-27')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une date de naissance au format timestamp' do
|
||||
expect(subject[0][:date_naissance_timestamp]).to eq(-155523600)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,7 +10,7 @@ describe SIADE::ExercicesAdapter do
|
|||
end
|
||||
|
||||
it '#to_params class est une Hash ?' do
|
||||
expect(subject).to be_an_instance_of(Hash)
|
||||
expect(subject).to be_an_instance_of(Array)
|
||||
end
|
||||
|
||||
it 'have 3 exercices' do
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe SIADE::MandatairesSociauxAdapter do
|
||||
subject { described_class.new('418166096').to_params }
|
||||
|
||||
before do
|
||||
stub_request(:get, "https://api-dev.apientreprise.fr/api/v1/entreprises/418166096?token=#{SIADETOKEN}")
|
||||
.to_return(body: File.read('spec/support/files/entreprise.json', status: 200))
|
||||
end
|
||||
|
||||
it '#to_params class est une Hash ?' do
|
||||
expect(subject).to be_an_instance_of(Hash)
|
||||
end
|
||||
|
||||
describe 'Mandataires Sociaux' do
|
||||
|
||||
it { expect(subject.size).to eq(8) }
|
||||
|
||||
describe 'Attributs' do
|
||||
|
||||
it 'Un mandataire social possède bien un nom' do
|
||||
expect(subject[0][:nom]).to eq('HISQUIN')
|
||||
end
|
||||
it 'Un mandataire social possède bien un prenom' do
|
||||
expect(subject[0][:prenom]).to eq('FRANCOIS')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une fonction' do
|
||||
expect(subject[0][:fonction]).to eq('PRESIDENT DU DIRECTOIRE')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une date de naissance' do
|
||||
expect(subject[0][:date_naissance]).to eq('1965-01-27')
|
||||
end
|
||||
|
||||
it 'Un mandataire social possède bien une date de naissance au format timestamp' do
|
||||
expect(subject[0][:date_naissance_timestamp]).to eq(-155523600)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
end
|
16
spec/models/cadastre_spec.rb
Normal file
16
spec/models/cadastre_spec.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Cadastre do
|
||||
it { is_expected.to have_db_column(:surface_intersection) }
|
||||
it { is_expected.to have_db_column(:surface_parcelle) }
|
||||
it { is_expected.to have_db_column(:numero) }
|
||||
it { is_expected.to have_db_column(:feuille) }
|
||||
it { is_expected.to have_db_column(:section) }
|
||||
it { is_expected.to have_db_column(:code_dep) }
|
||||
it { is_expected.to have_db_column(:nom_com) }
|
||||
it { is_expected.to have_db_column(:code_com) }
|
||||
it { is_expected.to have_db_column(:code_arr) }
|
||||
it { is_expected.to have_db_column(:geometry) }
|
||||
|
||||
it { is_expected.to belong_to(:dossier) }
|
||||
end
|
|
@ -19,6 +19,7 @@ describe Dossier do
|
|||
it { is_expected.to have_many(:champs) }
|
||||
it { is_expected.to have_many(:commentaires) }
|
||||
it { is_expected.to have_many(:quartier_prioritaires) }
|
||||
it { is_expected.to have_many(:cadastres) }
|
||||
it { is_expected.to have_one(:cerfa) }
|
||||
it { is_expected.to have_one(:etablissement) }
|
||||
it { is_expected.to have_one(:entreprise) }
|
||||
|
@ -130,7 +131,7 @@ describe Dossier do
|
|||
end
|
||||
|
||||
describe '#next_step' do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:role) { 'user' }
|
||||
let(:action) { 'initiate' }
|
||||
|
||||
|
@ -389,18 +390,18 @@ describe Dossier do
|
|||
let(:procedure_admin) { create(:procedure, administrateur: admin) }
|
||||
let(:procedure_admin_2) { create(:procedure, administrateur: admin_2) }
|
||||
|
||||
let!(:dossier1) { create(:dossier, :with_user, procedure: procedure_admin, state: 'draft') }
|
||||
let!(:dossier2) { create(:dossier, :with_user, procedure: procedure_admin, state: 'initiated') } #a_traiter
|
||||
let!(:dossier3) { create(:dossier, :with_user, procedure: procedure_admin, state: 'initiated') } #a_traiter
|
||||
let!(:dossier4) { create(:dossier, :with_user, procedure: procedure_admin, state: 'replied') } #en_attente
|
||||
let!(:dossier5) { create(:dossier, :with_user, procedure: procedure_admin, state: 'updated') } #a_traiter
|
||||
let!(:dossier6) { create(:dossier, :with_user, procedure: procedure_admin_2, state: 'validated') } #en_attente
|
||||
let!(:dossier7) { create(:dossier, :with_user, procedure: procedure_admin_2, state: 'submitted') } #a_traiter
|
||||
let!(:dossier8) { create(:dossier, :with_user, procedure: procedure_admin_2, state: 'closed') } #termine
|
||||
let!(:dossier9) { create(:dossier, :with_user, procedure: procedure_admin, state: 'closed') } #termine
|
||||
let!(:dossier10) { create(:dossier, :with_user, procedure: procedure_admin, state: 'initiated', archived: true) } #a_traiter #archived
|
||||
let!(:dossier11) { create(:dossier, :with_user, procedure: procedure_admin, state: 'replied', archived: true) } #en_attente #archived
|
||||
let!(:dossier12) { create(:dossier, :with_user, procedure: procedure_admin, state: 'closed', archived: true) } #termine #archived
|
||||
let!(:dossier1) { create(:dossier, procedure: procedure_admin, state: 'draft') }
|
||||
let!(:dossier2) { create(:dossier, procedure: procedure_admin, state: 'initiated') } #a_traiter
|
||||
let!(:dossier3) { create(:dossier, procedure: procedure_admin, state: 'initiated') } #a_traiter
|
||||
let!(:dossier4) { create(:dossier, procedure: procedure_admin, state: 'replied') } #en_attente
|
||||
let!(:dossier5) { create(:dossier, procedure: procedure_admin, state: 'updated') } #a_traiter
|
||||
let!(:dossier6) { create(:dossier, procedure: procedure_admin_2, state: 'validated') } #en_attente
|
||||
let!(:dossier7) { create(:dossier, procedure: procedure_admin_2, state: 'submitted') } #a_traiter
|
||||
let!(:dossier8) { create(:dossier, procedure: procedure_admin_2, state: 'closed') } #termine
|
||||
let!(:dossier9) { create(:dossier, procedure: procedure_admin, state: 'closed') } #termine
|
||||
let!(:dossier10) { create(:dossier, procedure: procedure_admin, state: 'initiated', archived: true) } #a_traiter #archived
|
||||
let!(:dossier11) { create(:dossier, procedure: procedure_admin, state: 'replied', archived: true) } #en_attente #archived
|
||||
let!(:dossier12) { create(:dossier, procedure: procedure_admin, state: 'closed', archived: true) } #termine #archived
|
||||
|
||||
describe '#waiting_for_gestionnaire' do
|
||||
subject { gestionnaire.dossiers.waiting_for_gestionnaire }
|
||||
|
|
|
@ -21,4 +21,13 @@ describe Etablissement do
|
|||
it { is_expected.to belong_to(:entreprise) }
|
||||
it { is_expected.to have_many(:exercices) }
|
||||
end
|
||||
|
||||
describe '#geo_adresse' do
|
||||
|
||||
let(:etablissement) { create(:etablissement) }
|
||||
|
||||
subject { etablissement.geo_adresse }
|
||||
|
||||
it { is_expected.to eq '6 RUE RAOUL NORDLING IMMEUBLE BORA 92270 BOIS COLOMBES' }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,4 +10,44 @@ describe ModuleAPICarto do
|
|||
it { is_expected.to have_db_column(:quartiers_prioritaires) }
|
||||
it { is_expected.to have_db_column(:cadastre) }
|
||||
end
|
||||
|
||||
describe '#classes' do
|
||||
let(:module_api_carto) { create(:module_api_carto, quartiers_prioritaires: qp, cadastre: cadastre) }
|
||||
|
||||
context 'when module api carto qp is true' do
|
||||
let(:qp) { true }
|
||||
let(:cadastre) { false }
|
||||
|
||||
subject { module_api_carto.classes }
|
||||
|
||||
it { is_expected.to eq 'qp ' }
|
||||
end
|
||||
|
||||
context 'when module api carto cadastre is true' do
|
||||
let(:qp) { false }
|
||||
let(:cadastre) { true }
|
||||
|
||||
subject { module_api_carto.classes }
|
||||
|
||||
it { is_expected.to eq 'cadastre ' }
|
||||
end
|
||||
|
||||
context 'when module api carto qp is true and cadastre is true' do
|
||||
let(:qp) { true }
|
||||
let(:cadastre) { true }
|
||||
|
||||
subject { module_api_carto.classes }
|
||||
|
||||
it { is_expected.to eq 'qp cadastre ' }
|
||||
end
|
||||
|
||||
context 'when module api carto qp is false and cadastre is false' do
|
||||
let(:qp) { false }
|
||||
let(:cadastre) { false }
|
||||
|
||||
subject { module_api_carto.classes }
|
||||
|
||||
it { is_expected.to eq '' }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -87,7 +87,7 @@ describe Procedure do
|
|||
|
||||
context 'when procedure have dossier with state draft' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :draft)
|
||||
create(:dossier, procedure: procedure, state: :draft)
|
||||
end
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
|
@ -95,7 +95,7 @@ describe Procedure do
|
|||
|
||||
context 'when procedure have dossier with state initiated' do
|
||||
before do
|
||||
create(:dossier, :with_user, procedure: procedure, state: :initiated)
|
||||
create(:dossier, procedure: procedure, state: :initiated)
|
||||
end
|
||||
|
||||
it { is_expected.to be_truthy }
|
||||
|
|
|
@ -1,8 +1,23 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe GeojsonService do
|
||||
describe '.toGeoJsonPolygon' do
|
||||
subject { JSON.parse(described_class.to_json_polygon coordinates) }
|
||||
let(:good_coordinates) {
|
||||
[
|
||||
[5.93536376953125,
|
||||
48.91888968903368],
|
||||
[5.93536376953125,
|
||||
49.26780455063753],
|
||||
[7.094421386718749,
|
||||
49.26780455063753],
|
||||
[7.094421386718749,
|
||||
48.91888968903368],
|
||||
[5.93536376953125,
|
||||
48.91888968903368]
|
||||
]
|
||||
}
|
||||
|
||||
describe '.toGeoJsonPolygonForQp' do
|
||||
subject { JSON.parse(described_class.to_json_polygon_for_qp coordinates) }
|
||||
|
||||
describe 'coordinates are empty' do
|
||||
let(:coordinates) { '' }
|
||||
|
@ -12,23 +27,30 @@ describe GeojsonService do
|
|||
end
|
||||
|
||||
describe 'coordinates are informed' do
|
||||
let(:coordinates) {
|
||||
[
|
||||
[5.93536376953125,
|
||||
48.91888968903368],
|
||||
[5.93536376953125,
|
||||
49.26780455063753],
|
||||
[7.094421386718749,
|
||||
49.26780455063753],
|
||||
[7.094421386718749,
|
||||
48.91888968903368],
|
||||
[5.93536376953125,
|
||||
48.91888968903368]
|
||||
]
|
||||
}
|
||||
let(:coordinates) { good_coordinates }
|
||||
|
||||
it { expect(subject['geo']['type']).to eq('Polygon') }
|
||||
it { expect(subject['geo']['coordinates']).to eq([coordinates]) }
|
||||
end
|
||||
end
|
||||
|
||||
describe '.toGeoJsonPolygonForCadastre' do
|
||||
subject { JSON.parse(described_class.to_json_polygon_for_cadastre coordinates) }
|
||||
|
||||
describe 'coordinates are empty' do
|
||||
let(:coordinates) { '' }
|
||||
|
||||
it { expect(subject['geom']['type']).to eq('Feature') }
|
||||
it { expect(subject['geom']['geometry']['type']).to eq('Polygon') }
|
||||
it { expect(subject['geom']['geometry']['coordinates']).to eq([coordinates]) }
|
||||
end
|
||||
|
||||
describe 'coordinates are informed' do
|
||||
let(:coordinates) { good_coordinates }
|
||||
|
||||
it { expect(subject['geom']['type']).to eq('Feature') }
|
||||
it { expect(subject['geom']['geometry']['type']).to eq('Polygon') }
|
||||
it { expect(subject['geom']['geometry']['coordinates']).to eq([coordinates]) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
RSpec.shared_examples 'not owner of dossier' do |controller, redirect|
|
||||
let(:dossier_2) { create(:dossier, :with_user) }
|
||||
let(:dossier_2) { create(:dossier) }
|
||||
|
||||
before do
|
||||
get controller, dossier_id: dossier_2.id
|
||||
|
|
|
@ -5,9 +5,9 @@ describe 'backoffice/dossiers/index.html.haml', type: :view do
|
|||
let(:gestionnaire) { create(:gestionnaire, administrateur: administrateur) }
|
||||
|
||||
let!(:procedure) { create(:procedure, administrateur: administrateur) }
|
||||
let!(:decorate_dossier_initiated) { create(:dossier, :with_user, procedure: procedure, nom_projet: 'projet initiated', state: 'initiated').decorate }
|
||||
let!(:decorate_dossier_replied) { create(:dossier, :with_user, procedure: procedure, nom_projet: 'projet replied', state: 'replied').decorate }
|
||||
let!(:decorate_dossier_closed) { create(:dossier, :with_user, procedure: procedure, nom_projet: 'projet closed', state: 'closed').decorate }
|
||||
let!(:decorate_dossier_initiated) { create(:dossier, procedure: procedure, nom_projet: 'projet initiated', state: 'initiated').decorate }
|
||||
let!(:decorate_dossier_replied) { create(:dossier, procedure: procedure, nom_projet: 'projet replied', state: 'replied').decorate }
|
||||
let!(:decorate_dossier_closed) { create(:dossier, procedure: procedure, nom_projet: 'projet closed', state: 'closed').decorate }
|
||||
|
||||
describe 'on tab a_traiter' do
|
||||
before do
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'backoffice/dossiers/show.html.haml', type: :view do
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user, state: state) }
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, :with_procedure, state: state) }
|
||||
let(:state) { 'draft' }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'dossiers/_infos_dossier.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_user, procedure: create(:procedure, :with_api_carto, :with_type_de_champ)) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, procedure: create(:procedure, :with_api_carto, :with_type_de_champ)) }
|
||||
|
||||
before do
|
||||
assign(:facade, DossierFacades.new(dossier.id, dossier.user.email))
|
||||
|
|
|
@ -2,7 +2,7 @@ require 'spec_helper'
|
|||
|
||||
describe 'users/carte/show.html.haml', type: :view do
|
||||
let(:state) { 'draft' }
|
||||
let(:dossier) { create(:dossier, :with_procedure, :with_user, state: state) }
|
||||
let(:dossier) { create(:dossier, :with_procedure, state: state) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
|
||||
before do
|
||||
|
|
|
@ -5,6 +5,7 @@ describe 'users/dossiers/index.html.haml', type: :view do
|
|||
|
||||
let!(:dossier) { create(:dossier, :with_procedure, user: user, state: 'initiated', nom_projet: 'projet de test').decorate }
|
||||
let!(:dossier_2) { create(:dossier, :with_procedure, user: user, state: 'replied', nom_projet: 'projet répondu').decorate }
|
||||
let!(:dossier_3) { create(:dossier, :with_procedure, user: user, state: 'replied', nom_projet: 'projet répondu 2').decorate }
|
||||
let!(:dossier_termine) { create(:dossier, :with_procedure, user: user, state: 'closed').decorate }
|
||||
|
||||
describe 'params liste is a_traiter' do
|
||||
|
@ -18,6 +19,10 @@ describe 'users/dossiers/index.html.haml', type: :view do
|
|||
partial: "users/dossiers/list",
|
||||
array: true))
|
||||
assign(:liste, 'a_traiter')
|
||||
assign(:dossiers_a_traiter_total, '1')
|
||||
assign(:dossiers_en_attente_total, '2')
|
||||
assign(:dossiers_termine_total, '1')
|
||||
|
||||
render
|
||||
end
|
||||
|
||||
|
@ -36,6 +41,12 @@ describe 'users/dossiers/index.html.haml', type: :view do
|
|||
it { is_expected.not_to have_content(dossier.nom_projet) }
|
||||
it { is_expected.not_to have_content(dossier_termine.nom_projet) }
|
||||
end
|
||||
|
||||
describe 'badges on tabs' do
|
||||
it { is_expected.to have_content('À traiter 1') }
|
||||
it { is_expected.to have_content('En attente 2') }
|
||||
it { is_expected.to have_content('Terminé 1') }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'params liste is en_attente' do
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'users/recapitulatif/_commentaires_flux.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier, :with_procedure, :with_user) }
|
||||
let(:dossier) { create(:dossier, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'mon_mail_de_commentaire@test.com' }
|
||||
let!(:commentaire) { create(:commentaire, dossier: dossier, email: email_commentaire, body: 'ma super description') }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'users/recapitulatif/show.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier, :with_user, :with_entreprise, state: state, procedure: create(:procedure, :with_api_carto)) }
|
||||
let(:dossier) { create(:dossier, :with_entreprise, state: state, procedure: create(:procedure, :with_api_carto)) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:state) { 'draft' }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue