- Revu de la page dossier côté gestionnaire
- Ajout des boutons de changement d'état gestionnaire
This commit is contained in:
parent
46211816ed
commit
af610a4a04
12 changed files with 420 additions and 166 deletions
|
@ -18,4 +18,13 @@ class Backoffice::DossiersController < ApplicationController
|
||||||
redirect_to url_for(controller: '/backoffice')
|
redirect_to url_for(controller: '/backoffice')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def confirme
|
||||||
|
params[:id] = params[:dossier_id]
|
||||||
|
show
|
||||||
|
|
||||||
|
@dossier.next_step! 'gestionnaire', 'confirme'
|
||||||
|
flash.notice = 'Dossier confirmé avec succès.'
|
||||||
|
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
class Users::RecapitulatifController < UsersController
|
class Users::RecapitulatifController < UsersController
|
||||||
def show
|
def show
|
||||||
|
|
||||||
@dossier = Dossier.find(params[:dossier_id])
|
@dossier = Dossier.find(params[:dossier_id])
|
||||||
@dossier = @dossier.decorate
|
@dossier = @dossier.decorate
|
||||||
@procedure = @dossier.procedure
|
@procedure = @dossier.procedure
|
||||||
|
@ -16,4 +15,22 @@ class Users::RecapitulatifController < UsersController
|
||||||
flash.alert = t('errors.messages.dossier_not_found')
|
flash.alert = t('errors.messages.dossier_not_found')
|
||||||
redirect_to url_for(controller: :siret)
|
redirect_to url_for(controller: :siret)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def propose
|
||||||
|
show
|
||||||
|
|
||||||
|
@dossier.next_step! 'user', 'propose'
|
||||||
|
flash.notice = 'Dossier soumis avec succès.'
|
||||||
|
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
|
|
||||||
|
def depose
|
||||||
|
show
|
||||||
|
|
||||||
|
@dossier.next_step! 'user', 'depose'
|
||||||
|
flash.notice = 'Dossier déposé avec succès.'
|
||||||
|
|
||||||
|
render 'show'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,7 +16,7 @@ class DossierDecorator < Draper::Decorator
|
||||||
when 'draft'
|
when 'draft'
|
||||||
'Brouillon'
|
'Brouillon'
|
||||||
when 'proposed'
|
when 'proposed'
|
||||||
'Proposé'
|
'Soumis'
|
||||||
when 'reply'
|
when 'reply'
|
||||||
'Répondu'
|
'Répondu'
|
||||||
when 'updated'
|
when 'updated'
|
||||||
|
|
|
@ -1,22 +1,21 @@
|
||||||
#backoffice_dossier_show
|
#backoffice_dossier_show
|
||||||
%h1#dossier_id.text-info{ :style => 'text-align:right'}
|
%h1#dossier_id.text-info{ :style => 'text-align:right'}
|
||||||
= "Dossier n°#{@dossier.id}"
|
= "Dossier n°#{@dossier.id}"
|
||||||
|
|
||||||
%script{type: 'text/javascript'}
|
%h3{:class => 'text-success', :style => 'text-align:right'}
|
||||||
="url_carte = '#{@dossier.id}/'"
|
= @dossier.state_fr
|
||||||
="ref_dossier = '#{@dossier.ref_dossier_carto}'"
|
|
||||||
|
|
||||||
= render partial: '/dossiers/infos_entreprise'
|
|
||||||
%br
|
|
||||||
= render partial: '/dossiers/infos_dossier'
|
|
||||||
%br
|
|
||||||
%br
|
|
||||||
|
|
||||||
.content.row
|
= render partial: '/dossiers/infos_entreprise'
|
||||||
=render partial: '/dossiers/pieces_justificatives'
|
%br
|
||||||
%br
|
= render partial: '/dossiers/infos_dossier'
|
||||||
|
%br
|
||||||
|
%br
|
||||||
|
|
||||||
= render partial: '/users/recapitulatif/commentaires_flux'
|
= render partial: '/users/recapitulatif/commentaires_flux'
|
||||||
%br
|
%br
|
||||||
%br
|
%br
|
||||||
|
|
||||||
|
-#%script{type: 'text/javascript'}
|
||||||
|
-# ="url_carte = '#{@dossier.id}/'"
|
||||||
|
-# ="ref_dossier = '#{@dossier.ref_dossier_carto}'"
|
||||||
|
|
|
@ -38,5 +38,14 @@
|
||||||
-#= pie_chart({"Montant à charge #{(100 - @dossier.montant_aide_demande.to_f/@dossier.montant_projet.to_f*100).round(2)}%" => (@dossier.montant_projet.to_f - @dossier.montant_aide_demande.to_f), "Montant souhaité #{(@dossier.montant_aide_demande.to_f/@dossier.montant_projet.to_f*100).round(2)}%" => @dossier.montant_aide_demande})
|
-#= pie_chart({"Montant à charge #{(100 - @dossier.montant_aide_demande.to_f/@dossier.montant_projet.to_f*100).round(2)}%" => (@dossier.montant_projet.to_f - @dossier.montant_aide_demande.to_f), "Montant souhaité #{(@dossier.montant_aide_demande.to_f/@dossier.montant_projet.to_f*100).round(2)}%" => @dossier.montant_aide_demande})
|
||||||
|
|
||||||
%div.row{style: 'text-align:right'}
|
%div.row{style: 'text-align:right'}
|
||||||
%a#maj_infos.btn.btn-info{href: "/users/dossiers/#{@dossier.id}/description?back_url=recapitulatif"}
|
-unless gestionnaire_signed_in?
|
||||||
= 'Editer mon dossier'
|
-if !@dossier.confirmed? && !@dossier.deposited? && !@dossier.processed?
|
||||||
|
%a#maj_infos.btn.btn-info{href: "/users/dossiers/#{@dossier.id}/description?back_url=recapitulatif"}
|
||||||
|
= 'Editer mon dossier'
|
||||||
|
|
||||||
|
-unless user_signed_in?
|
||||||
|
-if !@dossier.confirmed? && !@dossier.deposited? && !@dossier.processed?
|
||||||
|
= form_tag(url_for({controller: 'backoffice/dossiers', action: :confirme, dossier_id: @dossier.id}), class: 'form-inline', method: 'POST') do
|
||||||
|
%button#action_button.btn.btn-success
|
||||||
|
= 'Valider le dossier'
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,19 @@
|
||||||
%div.col-md-2.col-lg-2
|
%div.col-md-2.col-lg-2
|
||||||
%h2#dossier_id{:class => 'text-info', :style => 'text-align:right; margin-bottom:15px'}
|
%h2#dossier_id{:class => 'text-info', :style => 'text-align:right; margin-bottom:15px'}
|
||||||
= "Dossier n°#{@dossier.id}"
|
= "Dossier n°#{@dossier.id}"
|
||||||
-#%h3{:class => 'text-success', :style => 'text-align:right'}
|
|
||||||
-# = @dossier.state_fr
|
|
||||||
- unless gestionnaire_signed_in?
|
- unless gestionnaire_signed_in?
|
||||||
%button#action_button.btn.btn-success
|
-if @dossier.draft?
|
||||||
= 'Soumettre mon dossier'
|
= form_tag(url_for({controller: :recapitulatif, action: :propose, dossier_id: @dossier.id}), class: 'form-inline', method: 'POST') do
|
||||||
|
%button#action_button.btn.btn-success
|
||||||
|
= 'Soumettre mon dossier'
|
||||||
|
-elsif @dossier.confirmed?
|
||||||
|
= form_tag(url_for({controller: :recapitulatif, action: :depose, dossier_id: @dossier.id}), class: 'form-inline', method: 'POST') do
|
||||||
|
%button#action_button.btn.btn-success
|
||||||
|
= 'Déposer mon dossier'
|
||||||
|
-else
|
||||||
|
%h3{:class => 'text-success', :style => 'text-align:right'}
|
||||||
|
= @dossier.state_fr
|
||||||
|
|
||||||
%br
|
%br
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ Rails.application.routes.draw do
|
||||||
get '/description/error' => 'description#error'
|
get '/description/error' => 'description#error'
|
||||||
post 'description' => 'description#create'
|
post 'description' => 'description#create'
|
||||||
get '/recapitulatif' => 'recapitulatif#show'
|
get '/recapitulatif' => 'recapitulatif#show'
|
||||||
|
post '/recapitulatif/propose' => 'recapitulatif#propose'
|
||||||
|
post '/recapitulatif/depose' => 'recapitulatif#propose'
|
||||||
get '/demande' => 'demandes#show'
|
get '/demande' => 'demandes#show'
|
||||||
post '/demande' => 'demandes#update'
|
post '/demande' => 'demandes#update'
|
||||||
post '/commentaire' => 'commentaires#create'
|
post '/commentaire' => 'commentaires#create'
|
||||||
|
@ -49,7 +51,9 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
namespace :backoffice do
|
namespace :backoffice do
|
||||||
get 'sign_in' => '/gestionnaires/sessions#new'
|
get 'sign_in' => '/gestionnaires/sessions#new'
|
||||||
resources :dossiers, only: [:show]
|
resources :dossiers do
|
||||||
|
post 'confirme' => 'dossiers#confirme'
|
||||||
|
end
|
||||||
resources :commentaires, only: [:create]
|
resources :commentaires, only: [:create]
|
||||||
end
|
end
|
||||||
# The priority is based upon order of creation: first created -> highest priority.
|
# The priority is based upon order of creation: first created -> highest priority.
|
||||||
|
|
|
@ -28,4 +28,20 @@ describe Backoffice::DossiersController, type: :controller do
|
||||||
it { is_expected.to redirect_to('/gestionnaires/sign_in') }
|
it { is_expected.to redirect_to('/gestionnaires/sign_in') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'POST #confirme' do
|
||||||
|
context 'le gestionnaire valide un dossier' do
|
||||||
|
before do
|
||||||
|
dossier.proposed!
|
||||||
|
sign_in gestionnaire
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'dossier change is state for confirmed' do
|
||||||
|
post :confirme, dossier_id: dossier_id
|
||||||
|
|
||||||
|
dossier.reload
|
||||||
|
expect(dossier.state).to eq('confirmed')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,13 +2,13 @@ require 'spec_helper'
|
||||||
|
|
||||||
describe Users::RecapitulatifController, type: :controller do
|
describe Users::RecapitulatifController, type: :controller do
|
||||||
let(:dossier) { create(:dossier, :with_user) }
|
let(:dossier) { create(:dossier, :with_user) }
|
||||||
|
|
||||||
let(:bad_dossier_id) { Dossier.count + 100000 }
|
let(:bad_dossier_id) { Dossier.count + 100000 }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in dossier.user
|
||||||
|
end
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
before do
|
|
||||||
sign_in dossier.user
|
|
||||||
end
|
|
||||||
it 'returns http success' do
|
it 'returns http success' do
|
||||||
get :show, dossier_id: dossier.id
|
get :show, dossier_id: dossier.id
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
|
@ -19,4 +19,40 @@ describe Users::RecapitulatifController, type: :controller do
|
||||||
expect(response).to redirect_to('/users/siret')
|
expect(response).to redirect_to('/users/siret')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'POST #propose' do
|
||||||
|
context 'when an user propose his dossier' do
|
||||||
|
before do
|
||||||
|
post :propose, dossier_id: dossier.id
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'dossier change his state for processed' do
|
||||||
|
dossier.reload
|
||||||
|
expect(dossier.state).to eq('proposed')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'a message informe user what his dossier is proposed' do
|
||||||
|
expect(flash[:notice]).to include('Dossier soumis avec succès.')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'POST #depose' do
|
||||||
|
context 'when an user depose his dossier' do
|
||||||
|
before do
|
||||||
|
dossier.confirmed!
|
||||||
|
post :depose, dossier_id: dossier.id
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'dossier change his state for deposed' do
|
||||||
|
dossier.reload
|
||||||
|
expect(dossier.state).to eq('deposited')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'a message informe user what his dossier is proposed' do
|
||||||
|
expect(flash[:notice]).to include('Dossier déposé avec succès.')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'Admin/Dossier#Show Page' do
|
|
||||||
let(:user) { create(:user) }
|
|
||||||
let!(:dossier) { create(:dossier, :with_entreprise, :with_procedure, user: user) }
|
|
||||||
let(:dossier_id) { dossier.id }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_gestionnaire
|
|
||||||
visit "/backoffice/dossiers/#{dossier_id}"
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'sur la page admin du dossier' do
|
|
||||||
scenario 'la section infos entreprise est présente' do
|
|
||||||
expect(page).to have_selector('#infos_entreprise')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'la section infos dossier est présente' do
|
|
||||||
expect(page).to have_selector('#infos_dossier')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'le numéro de dossier est présent sur la page' do
|
|
||||||
expect(page).to have_selector('#dossier_id')
|
|
||||||
expect(page).to have_content(dossier_id)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'les liens de modifications sont non présent' do
|
|
||||||
scenario 'le lien vers carte' do
|
|
||||||
expect(page).to_not have_selector('a[id=modif_carte]')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'le lien vers description' do
|
|
||||||
expect(page).to_not have_selector('a[id=modif_description]')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
#TODO réactiver
|
|
||||||
# context 'la liste des pièces justificatives est présente' do
|
|
||||||
# context 'Attestation MSA' do
|
|
||||||
# let(:id_piece_justificative) { 93 }
|
|
||||||
#
|
|
||||||
# scenario 'la ligne de la pièce justificative est présente' do
|
|
||||||
# expect(page).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'le bouton "Récupérer" est présent' do
|
|
||||||
# expect(page.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_selector("a[href='']")
|
|
||||||
# expect(page.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Récupérer')
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# context 'Attestation RDI' do
|
|
||||||
# let(:id_piece_justificative) { 103 }
|
|
||||||
#
|
|
||||||
# scenario 'la ligne de la pièce justificative est présente' do
|
|
||||||
# expect(page).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'le libelle "Pièce manquante" est présent' do
|
|
||||||
# expect(page.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Pièce non fournie')
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# context 'Devis' do
|
|
||||||
# let(:id_piece_justificative) { 388 }
|
|
||||||
# let(:content) { File.open('./spec/support/files/piece_justificative_388.pdf') }
|
|
||||||
#
|
|
||||||
# before do
|
|
||||||
# piece_justificative = dossier.pieces_justificatives.where(type_de_piece_justificative_id: 388).first
|
|
||||||
# piece_justificative.content = content
|
|
||||||
# piece_justificative.save!
|
|
||||||
# visit "/admin/dossiers/#{dossier_id}"
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'la ligne de la pièce justificative est présente' do
|
|
||||||
# expect(page).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'le libelle "Consulter" est présent' do
|
|
||||||
# expect(page.find("tr[id=piece_justificative_#{id_piece_justificative}] a")[:href]).to have_content('piece_justificative_388.pdf')
|
|
||||||
# expect(page.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Consulter')
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'la carte est bien présente' do
|
|
||||||
# expect(page).to have_selector('#map_qp')
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'la page des sources CSS de l\'API cart est chargée' do
|
|
||||||
# expect(page).to have_selector('#sources_CSS_api_carto')
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# scenario 'la page des sources JS backend de l\'API cart est chargée' do
|
|
||||||
# expect(page).to have_selector('#sources_JS_api_carto_backend')
|
|
||||||
# end
|
|
||||||
end
|
|
||||||
end
|
|
184
spec/views/backoffice/dossiers/show.html.html_spec.rb
Normal file
184
spec/views/backoffice/dossiers/show.html.html_spec.rb
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'backoffice/dossiers/show.html.haml', type: :view do
|
||||||
|
let!(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user) }
|
||||||
|
let(:dossier_id) { dossier.id }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in create(:gestionnaire)
|
||||||
|
|
||||||
|
assign(:dossier, dossier.decorate)
|
||||||
|
assign(:entreprise, dossier.entreprise.decorate)
|
||||||
|
assign(:etablissement, dossier.etablissement)
|
||||||
|
assign(:procedure, dossier.procedure)
|
||||||
|
assign(:commentaires, dossier.commentaires)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'sur la rendered admin du dossier' do
|
||||||
|
before do
|
||||||
|
render
|
||||||
|
end
|
||||||
|
it 'la section infos entreprise est présente' do
|
||||||
|
expect(rendered).to have_selector('#infos_entreprise')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'la section infos dossier est présente' do
|
||||||
|
expect(rendered).to have_selector('#infos_dossier')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'le numéro de dossier est présent sur la rendered' do
|
||||||
|
expect(rendered).to have_selector('#dossier_id')
|
||||||
|
expect(rendered).to have_content(dossier_id)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'les liens de modifications sont non présent' do
|
||||||
|
it 'le lien vers carte' do
|
||||||
|
expect(rendered).to_not have_selector('a[id=modif_carte]')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'le lien vers description' do
|
||||||
|
expect(rendered).to_not have_selector('a[id=modif_description]')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'le bouton Editer mon dossier n\'est pas present' do
|
||||||
|
expect(rendered).to_not have_css('#maj_infos')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'gestion des etats du dossier' do
|
||||||
|
context 'when dossier have state proposed' do
|
||||||
|
before do
|
||||||
|
dossier.proposed!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Soumis') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier est present' do
|
||||||
|
expect(rendered).to have_css('#action_button')
|
||||||
|
expect(rendered).to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier have state reply' do
|
||||||
|
before do
|
||||||
|
dossier.reply!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Répondu') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier est present' do
|
||||||
|
expect(rendered).to have_css('#action_button')
|
||||||
|
expect(rendered).to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier have state update' do
|
||||||
|
before do
|
||||||
|
dossier.updated!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Mis à jour') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier est present' do
|
||||||
|
expect(rendered).to have_css('#action_button')
|
||||||
|
expect(rendered).to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier have state confirmed' do
|
||||||
|
before do
|
||||||
|
dossier.confirmed!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Validé') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier n\'est pas present' do
|
||||||
|
expect(rendered).not_to have_css('#action_button')
|
||||||
|
expect(rendered).not_to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier have state deposited' do
|
||||||
|
before do
|
||||||
|
dossier.deposited!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Déposé') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier n\'est pas present' do
|
||||||
|
expect(rendered).not_to have_css('#action_button')
|
||||||
|
expect(rendered).not_to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier have state processed' do
|
||||||
|
before do
|
||||||
|
dossier.processed!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Traité') }
|
||||||
|
|
||||||
|
it 'button Valider le dossier n\'est pas present' do
|
||||||
|
expect(rendered).not_to have_css('#action_button')
|
||||||
|
expect(rendered).not_to have_content('Valider le dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#TODO réactiver
|
||||||
|
# context 'la liste des pièces justificatives est présente' do
|
||||||
|
# context 'Attestation MSA' do
|
||||||
|
# let(:id_piece_justificative) { 93 }
|
||||||
|
#
|
||||||
|
# it 'la ligne de la pièce justificative est présente' do
|
||||||
|
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# it 'le bouton "Récupérer" est présent' do
|
||||||
|
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_selector("a[href='']")
|
||||||
|
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Récupérer')
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# context 'Attestation RDI' do
|
||||||
|
# let(:id_piece_justificative) { 103 }
|
||||||
|
#
|
||||||
|
# it 'la ligne de la pièce justificative est présente' do
|
||||||
|
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# it 'le libelle "Pièce manquante" est présent' do
|
||||||
|
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Pièce non fournie')
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# context 'Devis' do
|
||||||
|
# let(:id_piece_justificative) { 388 }
|
||||||
|
# let(:content) { File.open('./spec/support/files/piece_justificative_388.pdf') }
|
||||||
|
#
|
||||||
|
# before do
|
||||||
|
# piece_justificative = dossier.pieces_justificatives.where(type_de_piece_justificative_id: 388).first
|
||||||
|
# piece_justificative.content = content
|
||||||
|
# piece_justificative.save!
|
||||||
|
# visit "/admin/dossiers/#{dossier_id}"
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# it 'la ligne de la pièce justificative est présente' do
|
||||||
|
# expect(rendered).to have_selector("tr[id=piece_justificative_#{id_piece_justificative}]")
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# it 'le libelle "Consulter" est présent' do
|
||||||
|
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}] a")[:href]).to have_content('piece_justificative_388.pdf')
|
||||||
|
# expect(rendered.find("tr[id=piece_justificative_#{id_piece_justificative}]")).to have_content('Consulter')
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
end
|
|
@ -1,61 +1,131 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe 'users/recapitulatif/show.html.haml', type: :view do
|
describe 'users/recapitulatif/show.html.haml', type: :view do
|
||||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure, :with_user) }
|
let(:dossier) { create(:dossier, :with_user, :with_entreprise, :with_procedure) }
|
||||||
let(:dossier_id) { dossier.id }
|
let(:dossier_id) { dossier.id }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
assign(:dossier, dossier.decorate)
|
assign(:dossier, dossier.decorate)
|
||||||
assign(:procedure, dossier.procedure)
|
assign(:procedure, dossier.procedure)
|
||||||
assign(:commentaires, dossier.commentaires)
|
assign(:commentaires, dossier.commentaires)
|
||||||
render
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'sur la rendered recapitulative' do
|
context 'sur la rendered recapitulative' do
|
||||||
it 'la section infos dossier est présente' do
|
context 'test de composition de la page' do
|
||||||
expect(rendered).to have_selector('#infos_dossier')
|
before do
|
||||||
end
|
render
|
||||||
|
end
|
||||||
|
|
||||||
it 'le flux de commentaire est présent' do
|
it 'la section infos dossier est présente' do
|
||||||
expect(rendered).to have_selector('#commentaires_flux')
|
expect(rendered).to have_selector('#infos_dossier')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'le numéro de dossier est présent' do
|
it 'le flux de commentaire est présent' do
|
||||||
expect(rendered).to have_selector('#dossier_id')
|
expect(rendered).to have_selector('#commentaires_flux')
|
||||||
expect(rendered).to have_content(dossier_id)
|
end
|
||||||
end
|
|
||||||
|
|
||||||
context 'les liens de modifications' do
|
it 'le numéro de dossier est présent' do
|
||||||
context 'lien description' do
|
expect(rendered).to have_selector('#dossier_id')
|
||||||
it 'le lien vers description est présent' do
|
expect(rendered).to have_content(dossier_id)
|
||||||
expect(rendered).to have_css('#maj_infos')
|
end
|
||||||
end
|
|
||||||
|
|
||||||
it 'le lien vers description est correct' do
|
context 'les liens de modifications' do
|
||||||
expect(rendered).to have_selector("a[id=maj_infos][href='/users/dossiers/#{dossier_id}/description?back_url=recapitulatif']")
|
context 'lien description' do
|
||||||
|
it 'le lien vers description est présent' do
|
||||||
|
expect(rendered).to have_css('#maj_infos')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'le lien vers description est correct' do
|
||||||
|
expect(rendered).to have_selector("a[id=maj_infos][href='/users/dossiers/#{dossier_id}/description?back_url=recapitulatif']")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# context 'visibilité Félicitation' do
|
context 'buttons to change dossier state' do
|
||||||
# it 'Est affiché quand l\'on vient de la rendered description hors modification' do
|
context 'when dossier state is draft' do
|
||||||
# expect(rendered).to have_content('Félicitation')
|
before do
|
||||||
# end
|
dossier.draft!
|
||||||
#
|
render
|
||||||
# it 'N\'est pas affiché quand l\'on vient d\'une autre la rendered que description' do
|
end
|
||||||
# Capybara.current_session.driver.header('Referer', '/')
|
|
||||||
#
|
it 'button Soumettre mon dossier est present' do
|
||||||
# expect(rendered).to_not have_content('Félicitation')
|
expect(rendered).to have_css('#action_button')
|
||||||
# end
|
expect(rendered).to have_content('Soumettre mon dossier')
|
||||||
#
|
end
|
||||||
# it 'N\'est pas affiché quand l\'on vient de la rendered description en modification' do
|
end
|
||||||
# Capybara.current_session.driver.header('Referer', '/description?back_url=recapitulatif')
|
|
||||||
#
|
context 'when dossier state is proposed' do
|
||||||
# expect(rendered).to_not have_content('Félicitation')
|
before do
|
||||||
# end
|
dossier.proposed!
|
||||||
# end
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Soumis') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier state is reply' do
|
||||||
|
before do
|
||||||
|
dossier.reply!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
#TODO gestionnaire test
|
||||||
|
it { expect(rendered).to have_content('Répondu') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier state is updated' do
|
||||||
|
before do
|
||||||
|
dossier.updated!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Mis à jour') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier state is confirmed' do
|
||||||
|
before do
|
||||||
|
dossier.confirmed!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'button Déposer mon dossier est present' do
|
||||||
|
expect(rendered).to have_css('#action_button')
|
||||||
|
expect(rendered).to have_content('Déposer mon dossier')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'button Editer mon dossier n\'est plus present' do
|
||||||
|
expect(rendered).not_to have_css('#maj_infos')
|
||||||
|
expect(rendered).not_to have_content('Editer mon dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier state is deposited' do
|
||||||
|
before do
|
||||||
|
dossier.deposited!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(rendered).to have_content('Déposé') }
|
||||||
|
|
||||||
|
it 'button Editer mon dossier n\'est plus present' do
|
||||||
|
expect(rendered).not_to have_css('#maj_infos')
|
||||||
|
expect(rendered).not_to have_content('Editer mon dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when dossier state is traité' do
|
||||||
|
before do
|
||||||
|
dossier.processed!
|
||||||
|
render
|
||||||
|
end
|
||||||
|
it { expect(rendered).to have_content('Traité') }
|
||||||
|
|
||||||
|
it 'button Editer mon dossier n\'est plus present' do
|
||||||
|
expect(rendered).not_to have_css('#maj_infos')
|
||||||
|
expect(rendered).not_to have_content('Editer mon dossier')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue