Revu de code OK

This commit is contained in:
Xavier J 2015-11-02 16:36:52 +01:00
parent c454ea28ed
commit 8db705ec94
9 changed files with 79 additions and 87 deletions

View file

@ -2,7 +2,31 @@ class Backoffice::DossiersController < ApplicationController
before_action :authenticate_gestionnaire! before_action :authenticate_gestionnaire!
def show def show
@dossier = Dossier.find(params[:id]) initialize_instance_params params[:id]
end
def valid
initialize_instance_params params[:dossier_id]
@dossier.next_step! 'gestionnaire', 'valid'
flash.notice = 'Dossier confirmé avec succès.'
render 'show'
end
def close
initialize_instance_params params[:dossier_id]
@dossier.next_step! 'gestionnaire', 'close'
flash.notice = 'Dossier traité avec succès.'
render 'show'
end
private
def initialize_instance_params dossier_id
@dossier = Dossier.find(dossier_id)
@entreprise = @dossier.entreprise.decorate @entreprise = @dossier.entreprise.decorate
@etablissement = @dossier.etablissement @etablissement = @dossier.etablissement
@pieces_justificatives = @dossier.pieces_justificatives @pieces_justificatives = @dossier.pieces_justificatives
@ -17,25 +41,4 @@ class Backoffice::DossiersController < ApplicationController
flash.alert = t('errors.messages.dossier_not_found') flash.alert = t('errors.messages.dossier_not_found')
redirect_to url_for(controller: '/backoffice') redirect_to url_for(controller: '/backoffice')
end end
def valid
params[:id] = params[:dossier_id]
show
@dossier.next_step! 'gestionnaire', 'valid'
flash.notice = 'Dossier confirmé avec succès.'
render 'show'
end
def close
params[:id] = params[:dossier_id]
show
@dossier.next_step! 'gestionnaire', 'close'
flash.notice = 'Dossier traité avec succès.'
render 'show'
end
end end

View file

@ -35,7 +35,6 @@
.col-lg-6.col-md-6 .col-lg-6.col-md-6
=render partial: '/dossiers/pieces_justificatives' =render partial: '/dossiers/pieces_justificatives'
-#= 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'}
-unless gestionnaire_signed_in? -unless gestionnaire_signed_in?

View file

@ -11,8 +11,7 @@ Rails.application.routes.draw do
devise_for :users, controllers: { devise_for :users, controllers: {
sessions: 'users/sessions' sessions: 'users/sessions'
} }
#root 'users/dossiers#index'
root 'root#index' root 'root#index'
get 'france_connect' => 'france_connect#login' get 'france_connect' => 'france_connect#login'
@ -28,8 +27,6 @@ Rails.application.routes.draw do
get '/recapitulatif' => 'recapitulatif#show' get '/recapitulatif' => 'recapitulatif#show'
post '/recapitulatif/initiate' => 'recapitulatif#initiate' post '/recapitulatif/initiate' => 'recapitulatif#initiate'
post '/recapitulatif/submit' => 'recapitulatif#submit' post '/recapitulatif/submit' => 'recapitulatif#submit'
# get '/demande' => 'demandes#show'
# post '/demande' => 'demandes#update'
post '/commentaire' => 'commentaires#create' post '/commentaire' => 'commentaires#create'
get '/carte/position' => 'carte#get_position' get '/carte/position' => 'carte#get_position'

View file

@ -7,7 +7,7 @@ describe Backoffice::DossiersController, type: :controller do
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
describe 'GET #show' do describe 'GET #show' do
context "l'utilisateur est connecté" do context 'gestionnaire is connected' do
before do before do
sign_in gestionnaire sign_in gestionnaire
end end
@ -17,47 +17,43 @@ describe Backoffice::DossiersController, type: :controller do
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
end end
it "le numéro de dossier n'existe pas" do it 'dossier id doesnt exist' do
get :show, id: bad_dossier_id get :show, id: bad_dossier_id
expect(response).to redirect_to('/backoffice') expect(response).to redirect_to('/backoffice')
end end
end end
context "L'utilisateur n'est pas connecté mais le numéro de dossier est correct" do context 'gestionnaire doesnt connected but dossier id is correct' do
subject { get :show, id: dossier_id } subject { get :show, id: dossier_id }
it { is_expected.to redirect_to('/gestionnaires/sign_in') } it { is_expected.to redirect_to('/gestionnaires/sign_in') }
end end
end end
describe 'POST #valid' do describe 'POST #valid' do
context 'le gestionnaire valide un dossier' do before do
before do dossier.initiated!
dossier.initiated! sign_in gestionnaire
sign_in gestionnaire end
end
it 'dossier change is state for validated' do it 'dossier change is state for validated' do
post :valid, dossier_id: dossier_id post :valid, dossier_id: dossier_id
dossier.reload dossier.reload
expect(dossier.state).to eq('validated') expect(dossier.state).to eq('validated')
end
end end
end end
describe 'POST #close' do describe 'POST #close' do
context 'le gestionnaire taite un dossier' do before do
before do dossier.submitted!
dossier.submitted! sign_in gestionnaire
sign_in gestionnaire end
end
it 'dossier change is state for closed' do it 'dossier change is state to closed' do
post :close, dossier_id: dossier_id post :close, dossier_id: dossier_id
dossier.reload dossier.reload
expect(dossier.state).to eq('closed') expect(dossier.state).to eq('closed')
end
end end
end end
end end

View file

@ -21,7 +21,7 @@ RSpec.describe Users::CarteController, type: :controller do
sign_out dossier.user sign_out dossier.user
end end
it 'redirect to users/sign_in' do it 'redirects to users/sign_in' do
get :show, dossier_id: dossier_id get :show, dossier_id: dossier_id
expect(response).to redirect_to('/users/sign_in') expect(response).to redirect_to('/users/sign_in')
end end

View file

@ -16,7 +16,7 @@ describe Users::DescriptionController, type: :controller do
sign_out dossier.user sign_out dossier.user
end end
it 'redirect to users/sign_in' do it 'redirects to users/sign_in' do
get :show, dossier_id: dossier_id get :show, dossier_id: dossier_id
expect(response).to redirect_to('/users/sign_in') expect(response).to redirect_to('/users/sign_in')
end end

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe UsersController, type: :controller do describe UsersController, type: :controller do
describe '.current_user_dossier' do describe '#current_user_dossier' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:dossier) { create(:dossier, user: user)} let(:dossier) { create(:dossier, user: user)}
@ -10,24 +10,24 @@ describe UsersController, type: :controller do
sign_in user sign_in user
end end
context 'when no params table exist and no params past at the function' do context 'when no dossier_id is informed' do
it { expect{ subject.current_user_dossier }.to raise_error } it { expect{ subject.current_user_dossier }.to raise_error }
end end
context 'when no params table exist and params past at the function' do context 'when dossier_id is given as a param' do
context 'when dossier id is good' do context 'when dossier id is valid' do
it 'returns current user dossier' do it 'returns current user dossier' do
expect(subject.current_user_dossier dossier.id).to eq(dossier) expect(subject.current_user_dossier dossier.id).to eq(dossier)
end end
end end
context 'when dossier id is bad' do context 'when dossier id is incorrect' do
it { expect{ subject.current_user_dossier 1 }.to raise_error } it { expect{ subject.current_user_dossier 1 }.to raise_error }
end end
end end
context 'when params table exist and no params past at the function' do context 'when no params[] is given' do
context 'when dossier id is good' do context 'when dossier id is valid' do
before do before do
subject.params[:dossier_id] = dossier.id subject.params[:dossier_id] = dossier.id
end end
@ -37,18 +37,18 @@ describe UsersController, type: :controller do
end end
end end
context 'when dossier id is bad' do context 'when dossier id is incorrect' do
it { expect{ subject.current_user_dossier }.to raise_error } it { expect{ subject.current_user_dossier }.to raise_error }
end end
end
context 'when params table exist and params past at the function' do context 'when dossier_id is given as a param' do
before do before do
subject.params[:dossier_id] = 1 subject.params[:dossier_id] = 1
end end
it 'returns dossier with the id on params past' do it 'returns dossier with the id on params past' do
expect(subject.current_user_dossier dossier.id).to eq(dossier) expect(subject.current_user_dossier dossier.id).to eq(dossier)
end
end end
end end
end end

View file

@ -8,10 +8,7 @@ RSpec.shared_examples 'not owner of dossier' do |controller, redirect|
end end
it 'redirect to home page' do it 'redirect to home page' do
redirect_page = '/' expect(response).to redirect_to(redirect || '/')
redirect_page = redirect unless redirect.nil?
expect(response).to redirect_to(redirect_page)
end end
it 'show a flash message error' do it 'show a flash message error' do

View file

@ -14,39 +14,39 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
assign(:commentaires, dossier.commentaires) assign(:commentaires, dossier.commentaires)
end end
context 'sur la rendered admin du dossier' do context 'on the dossier admin page' do
before do before do
render render
end end
it 'la section infos entreprise est présente' do it 'enterprise informations are present' do
expect(rendered).to have_selector('#infos_entreprise') expect(rendered).to have_selector('#infos_entreprise')
end end
it 'la section infos dossier est présente' do it 'dossier informations are present' do
expect(rendered).to have_selector('#infos_dossier') expect(rendered).to have_selector('#infos_dossier')
end end
it 'le numéro de dossier est présent sur la rendered' do it 'dossier number is present' do
expect(rendered).to have_selector('#dossier_id') expect(rendered).to have_selector('#dossier_id')
expect(rendered).to have_content(dossier_id) expect(rendered).to have_content(dossier_id)
end end
context 'les liens de modifications sont non présent' do context 'edit link are present' do
it 'le lien vers carte' do it 'edit carto' do
expect(rendered).to_not have_selector('a[id=modif_carte]') expect(rendered).to_not have_selector('a[id=modif_carte]')
end end
it 'le lien vers description' do it 'edit description' do
expect(rendered).to_not have_selector('a[id=modif_description]') expect(rendered).to_not have_selector('a[id=modif_description]')
end end
it 'le bouton Editer mon dossier n\'est pas present' do it 'Editer mon dossier button doesnt present' do
expect(rendered).to_not have_css('#maj_infos') expect(rendered).to_not have_css('#maj_infos')
end end
end end
end end
context 'gestion des etats du dossier' do context 'dossier state changements' do
context 'when dossier have state initiated' do context 'when dossier have state initiated' do
before do before do
dossier.initiated! dossier.initiated!
@ -55,7 +55,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Soumis') } it { expect(rendered).to have_content('Soumis') }
it 'button Valider le dossier est present' do it 'button Valider le dossier is present' do
expect(rendered).to have_css('#action_button') expect(rendered).to have_css('#action_button')
expect(rendered).to have_content('Valider le dossier') expect(rendered).to have_content('Valider le dossier')
end end
@ -69,7 +69,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Répondu') } it { expect(rendered).to have_content('Répondu') }
it 'button Valider le dossier est present' do it 'button Valider le dossier is present' do
expect(rendered).to have_css('#action_button') expect(rendered).to have_css('#action_button')
expect(rendered).to have_content('Valider le dossier') expect(rendered).to have_content('Valider le dossier')
end end
@ -83,7 +83,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Mis à jour') } it { expect(rendered).to have_content('Mis à jour') }
it 'button Valider le dossier est present' do it 'button Valider le dossier is present' do
expect(rendered).to have_css('#action_button') expect(rendered).to have_css('#action_button')
expect(rendered).to have_content('Valider le dossier') expect(rendered).to have_content('Valider le dossier')
end end
@ -97,7 +97,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Validé') } it { expect(rendered).to have_content('Validé') }
it 'button Valider le dossier n\'est pas present' do it 'button Valider le dossier is not present' do
expect(rendered).not_to have_css('#action_button') expect(rendered).not_to have_css('#action_button')
expect(rendered).not_to have_content('Valider le dossier') expect(rendered).not_to have_content('Valider le dossier')
end end
@ -111,12 +111,12 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Déposé') } it { expect(rendered).to have_content('Déposé') }
it 'button Traiter le dossier est present' do it 'button Traiter le dossier is present' do
expect(rendered).to have_css('#action_button') expect(rendered).to have_css('#action_button')
expect(rendered).to have_content('Traiter le dossier') expect(rendered).to have_content('Traiter le dossier')
end end
it 'button Valider le dossier n\'est pas present' do it 'button Valider le dossier is not present' do
expect(rendered).not_to have_content('Valider le dossier') expect(rendered).not_to have_content('Valider le dossier')
end end
end end
@ -129,7 +129,7 @@ describe 'backoffice/dossiers/show.html.haml', type: :view do
it { expect(rendered).to have_content('Traité') } it { expect(rendered).to have_content('Traité') }
it 'button Valider le dossier n\'est pas present' do it 'button Valider le dossier is not present' do
expect(rendered).not_to have_css('#action_button') expect(rendered).not_to have_css('#action_button')
expect(rendered).not_to have_content('Valider le dossier') expect(rendered).not_to have_content('Valider le dossier')
end end