Merge branch 'dev'

This commit is contained in:
LeSim 2017-12-15 13:12:19 +01:00
commit 901b5286b5
88 changed files with 678 additions and 493 deletions

View file

@ -97,7 +97,7 @@ class Backoffice::DossiersController < Backoffice::DossiersListController
def receive def receive
dossier = Dossier.find(params[:dossier_id]) dossier = Dossier.find(params[:dossier_id])
dossier.received! dossier.en_instruction!
current_gestionnaire.follow(dossier) current_gestionnaire.follow(dossier)
flash.notice = 'Dossier passé en instruction.' flash.notice = 'Dossier passé en instruction.'
@ -179,7 +179,7 @@ class Backoffice::DossiersController < Backoffice::DossiersListController
def reopen def reopen
create_dossier_facade params[:dossier_id] create_dossier_facade params[:dossier_id]
@facade.dossier.initiated! @facade.dossier.en_construction!
flash.notice = 'Dossier repassé en construction.' flash.notice = 'Dossier repassé en construction.'
redirect_to backoffice_dossier_path(id: @facade.dossier.id) redirect_to backoffice_dossier_path(id: @facade.dossier.id)

View file

@ -61,7 +61,7 @@ module NewGestionnaire
end end
def passer_en_instruction def passer_en_instruction
dossier.received! dossier.en_instruction!
current_gestionnaire.follow(dossier) current_gestionnaire.follow(dossier)
flash.notice = 'Dossier passé en instruction.' flash.notice = 'Dossier passé en instruction.'
@ -69,7 +69,7 @@ module NewGestionnaire
end end
def repasser_en_construction def repasser_en_construction
dossier.initiated! dossier.en_construction!
flash.notice = 'Dossier repassé en construction.' flash.notice = 'Dossier repassé en construction.'
redirect_to dossier_path(procedure, dossier) redirect_to dossier_path(procedure, dossier)

View file

@ -5,7 +5,7 @@ class StatsController < ApplicationController
def index def index
procedures = Procedure.publiees_ou_archivees procedures = Procedure.publiees_ou_archivees
dossiers = Dossier.where.not(:state => :draft) dossiers = Dossier.where.not(:state => :brouillon)
@procedures_count = procedures.count @procedures_count = procedures.count
@dossiers_count = dossiers.count @dossiers_count = dossiers.count
@ -13,8 +13,8 @@ class StatsController < ApplicationController
@procedures_cumulative = cumulative_hash(procedures, :published_at) @procedures_cumulative = cumulative_hash(procedures, :published_at)
@procedures_in_the_last_4_months = last_four_months_hash(procedures, :published_at) @procedures_in_the_last_4_months = last_four_months_hash(procedures, :published_at)
@dossiers_cumulative = cumulative_hash(dossiers, :initiated_at) @dossiers_cumulative = cumulative_hash(dossiers, :en_construction_at)
@dossiers_in_the_last_4_months = last_four_months_hash(dossiers, :initiated_at) @dossiers_in_the_last_4_months = last_four_months_hash(dossiers, :en_construction_at)
@procedures_count_per_administrateur = procedures_count_per_administrateur(procedures) @procedures_count_per_administrateur = procedures_count_per_administrateur(procedures)
@ -96,7 +96,7 @@ class StatsController < ApplicationController
processed_dossiers = dossiers processed_dossiers = dossiers
.where(:processed_at => min_date..max_date) .where(:processed_at => min_date..max_date)
.pluck(:procedure_id, :initiated_at, :processed_at) .pluck(:procedure_id, :en_construction_at, :processed_at)
# Group dossiers by month # Group dossiers by month
processed_dossiers_by_month = processed_dossiers processed_dossiers_by_month = processed_dossiers
@ -137,7 +137,7 @@ class StatsController < ApplicationController
processed_dossiers = dossiers processed_dossiers = dossiers
.where(:processed_at => min_date..max_date) .where(:processed_at => min_date..max_date)
.pluck(:procedure_id, :created_at, :initiated_at, :processed_at) .pluck(:procedure_id, :created_at, :en_construction_at, :processed_at)
# Group dossiers by month # Group dossiers by month
processed_dossiers_by_month = processed_dossiers processed_dossiers_by_month = processed_dossiers

View file

@ -25,7 +25,7 @@ class Users::CarteController < UsersController
dossier.update_attributes(json_latlngs: params[:json_latlngs]) dossier.update_attributes(json_latlngs: params[:json_latlngs])
controller = :recapitulatif controller = :recapitulatif
controller = :description if dossier.draft? controller = :description if dossier.brouillon?
redirect_to url_for(controller: controller, action: :show, dossier_id: params[:dossier_id]) redirect_to url_for(controller: controller, action: :show, dossier_id: params[:dossier_id])
end end
@ -61,7 +61,7 @@ class Users::CarteController < UsersController
def self.route_authorization def self.route_authorization
{ {
states: [:draft, :initiated], states: [:brouillon, :en_construction],
api_carto: true api_carto: true
} }
end end

View file

@ -14,7 +14,7 @@ class Users::DescriptionController < UsersController
@headers = @champs.select { |c| c.type_champ == 'header_section' } @headers = @champs.select { |c| c.type_champ == 'header_section' }
unless @dossier.can_be_initiated? unless @dossier.can_be_en_construction?
flash[:alert] = t('errors.messages.procedure_archived') flash[:alert] = t('errors.messages.procedure_archived')
end end
@ -27,7 +27,7 @@ class Users::DescriptionController < UsersController
dossier = current_user_dossier dossier = current_user_dossier
procedure = dossier.procedure procedure = dossier.procedure
return head :forbidden unless dossier.can_be_initiated? return head :forbidden unless dossier.can_be_en_construction?
ChampsService.save_champs(dossier.champs, params) if params[:champs] ChampsService.save_champs(dossier.champs, params) if params[:champs]
@ -39,20 +39,20 @@ class Users::DescriptionController < UsersController
errors_upload = PiecesJustificativesService.upload!(dossier, current_user, params) errors_upload = PiecesJustificativesService.upload!(dossier, current_user, params)
return redirect_to_description_with_errors(dossier, errors_upload) if errors_upload.any? return redirect_to_description_with_errors(dossier, errors_upload) if errors_upload.any?
if params[:champs] && !draft_submission? if params[:champs] && !brouillon_submission?
errors = errors =
ChampsService.build_error_messages(dossier.champs) + ChampsService.build_error_messages(dossier.champs) +
PiecesJustificativesService.missing_pj_error_messages(dossier) PiecesJustificativesService.missing_pj_error_messages(dossier)
return redirect_to_description_with_errors(dossier, errors) if errors.any? return redirect_to_description_with_errors(dossier, errors) if errors.any?
end end
if draft_submission? if brouillon_submission?
flash.notice = 'Votre brouillon a bien été sauvegardé.' flash.notice = 'Votre brouillon a bien été sauvegardé.'
redirect_to url_for(controller: :dossiers, action: :index, liste: :brouillon) redirect_to url_for(controller: :dossiers, action: :index, liste: :brouillon)
else else
if dossier.draft? if dossier.brouillon?
dossier.initiated!
NotificationMailer.send_notification(dossier, procedure.initiated_mail_template).deliver_now! NotificationMailer.send_notification(dossier, procedure.initiated_mail_template).deliver_now!
dossier.en_construction!
end end
flash.notice = 'Félicitations, votre demande a bien été enregistrée.' flash.notice = 'Félicitations, votre demande a bien été enregistrée.'
redirect_to url_for(controller: :recapitulatif, action: :show, dossier_id: dossier.id) redirect_to url_for(controller: :recapitulatif, action: :show, dossier_id: dossier.id)
@ -93,7 +93,7 @@ class Users::DescriptionController < UsersController
def self.route_authorization def self.route_authorization
{ {
states: [:draft, :initiated] states: [:brouillon, :en_construction]
} }
end end
@ -110,7 +110,7 @@ class Users::DescriptionController < UsersController
redirect_to users_dossier_description_path(dossier_id: dossier.id) redirect_to users_dossier_description_path(dossier_id: dossier.id)
end end
def draft_submission? def brouillon_submission?
params[:submit] && params[:submit].keys.first == 'brouillon' params[:submit] && params[:submit].keys.first == 'brouillon'
end end

View file

@ -62,7 +62,7 @@ class Users::DossiersController < UsersController
def new def new
procedure = Procedure.publiees.find(params[:procedure_id]) procedure = Procedure.publiees.find(params[:procedure_id])
dossier = Dossier.create(procedure: procedure, user: current_user, state: 'draft') dossier = Dossier.create(procedure: procedure, user: current_user, state: 'brouillon')
siret = params[:siret] || current_user.siret siret = params[:siret] || current_user.siret
update_current_user_siret! siret unless siret.nil? update_current_user_siret! siret unless siret.nil?
@ -151,7 +151,7 @@ class Users::DossiersController < UsersController
def self.route_authorization def self.route_authorization
{ {
states: [:draft] states: [:brouillon]
} }
end end

View file

@ -18,7 +18,7 @@ class Users::RecapitulatifController < UsersController
def self.route_authorization def self.route_authorization
{ {
states: [:initiated, :received, :without_continuation, :closed, :refused] states: [:en_construction, :en_instruction, :sans_suite, :accepte, :refuse]
} }
end end

View file

@ -1,11 +1,11 @@
module DossierHelper module DossierHelper
def button_or_label_class(dossier) def button_or_label_class(dossier)
if dossier.closed? if dossier.accepte?
'accepted' 'accepted'
elsif dossier.without_continuation? elsif dossier.sans_suite?
'without-continuation' 'without-continuation'
elsif dossier.refused? elsif dossier.refuse?
'refused' 'refuse'
end end
end end

View file

@ -4,7 +4,7 @@ class AutoArchiveProcedureJob < ApplicationJob
def perform(*args) def perform(*args)
Procedure.publiees.where("auto_archive_on <= ?", Date.today).each do |procedure| Procedure.publiees.where("auto_archive_on <= ?", Date.today).each do |procedure|
procedure.dossiers.state_en_construction.each do |dossier| procedure.dossiers.state_en_construction.each do |dossier|
dossier.received! dossier.en_instruction!
end end
procedure.archive procedure.archive

View file

@ -4,7 +4,7 @@ class AutoReceiveDossiersForProcedureJob < ApplicationJob
def perform(procedure_id, state) def perform(procedure_id, state)
procedure = Procedure.find_by(id: procedure_id) procedure = Procedure.find_by(id: procedure_id)
if procedure if procedure
procedure.dossiers.state_nouveaux.update_all(state: state, received_at: Time.now) procedure.dossiers.state_nouveaux.update_all(state: state, en_instruction_at: Time.now)
end end
end end
end end

View file

@ -24,7 +24,7 @@ class Cerfa < ActiveRecord::Base
private private
def internal_notification def internal_notification
unless dossier.state == 'draft' unless dossier.state == 'brouillon'
NotificationService.new('cerfa', self.dossier.id).notify NotificationService.new('cerfa', self.dossier.id).notify
end end
end end

View file

@ -117,7 +117,7 @@ class Champ < ActiveRecord::Base
end end
def internal_notification def internal_notification
if dossier.state != 'draft' if dossier.state != 'brouillon'
if type == 'ChampPublic' if type == 'ChampPublic'
NotificationService.new('champs', self.dossier.id, self.libelle).notify NotificationService.new('champs', self.dossier.id, self.libelle).notify
else else

View file

@ -1,19 +1,19 @@
class Dossier < ActiveRecord::Base class Dossier < ActiveRecord::Base
enum state: { enum state: {
draft: 'draft', brouillon: 'brouillon',
initiated: 'initiated', en_construction: 'en_construction',
received: 'received', en_instruction: 'en_instruction',
closed: 'closed', accepte: 'accepte',
refused: 'refused', refuse: 'refuse',
without_continuation: 'without_continuation' sans_suite: 'sans_suite'
} }
BROUILLON = %w(draft) BROUILLON = %w(brouillon)
NOUVEAUX = %w(initiated) NOUVEAUX = %w(en_construction)
EN_CONSTRUCTION = %w(initiated) EN_CONSTRUCTION = %w(en_construction)
EN_INSTRUCTION = %w(received) EN_INSTRUCTION = %w(en_instruction)
EN_CONSTRUCTION_OU_INSTRUCTION = EN_CONSTRUCTION + EN_INSTRUCTION EN_CONSTRUCTION_OU_INSTRUCTION = EN_CONSTRUCTION + EN_INSTRUCTION
TERMINE = %w(closed refused without_continuation) TERMINE = %w(accepte refuse sans_suite)
has_one :etablissement, dependent: :destroy has_one :etablissement, dependent: :destroy
has_one :entreprise, dependent: :destroy has_one :entreprise, dependent: :destroy
@ -58,7 +58,7 @@ class Dossier < ActiveRecord::Base
scope :nouveaux, -> { not_archived.state_nouveaux } scope :nouveaux, -> { not_archived.state_nouveaux }
scope :en_instruction, -> { not_archived.state_en_instruction } scope :en_instruction, -> { not_archived.state_en_instruction }
scope :termine, -> { not_archived.state_termine } scope :termine, -> { not_archived.state_termine }
scope :downloadable_sorted, -> { state_not_brouillon.includes(:entreprise, :etablissement, :champs, :champs_private).order(initiated_at: 'asc') } scope :downloadable_sorted, -> { state_not_brouillon.includes(:entreprise, :etablissement, :champs, :champs_private).order(en_construction_at: 'asc') }
scope :en_cours, -> { not_archived.state_en_construction_ou_instruction } scope :en_cours, -> { not_archived.state_en_construction_ou_instruction }
scope :without_followers, -> { left_outer_joins(:follows).where(follows: { id: nil }) } scope :without_followers, -> { left_outer_joins(:follows).where(follows: { id: nil }) }
scope :with_unread_notifications, -> { where(notifications: { already_read: false }) } scope :with_unread_notifications, -> { where(notifications: { already_read: false }) }
@ -157,18 +157,18 @@ class Dossier < ActiveRecord::Base
when 'user' when 'user'
case action case action
when 'initiate' when 'initiate'
if draft? if brouillon?
initiated! en_construction!
end end
end end
when 'gestionnaire' when 'gestionnaire'
case action case action
when 'close' when 'close'
if received? if en_instruction?
self.attestation = build_attestation self.attestation = build_attestation
save save
closed! accepte!
if motivation if motivation
self.motivation = motivation self.motivation = motivation
@ -176,8 +176,8 @@ class Dossier < ActiveRecord::Base
end end
end end
when 'refuse' when 'refuse'
if received? if en_instruction?
refused! refuse!
if motivation if motivation
self.motivation = motivation self.motivation = motivation
@ -185,8 +185,8 @@ class Dossier < ActiveRecord::Base
end end
end end
when 'without_continuation' when 'without_continuation'
if received? if en_instruction?
without_continuation! sans_suite!
if motivation if motivation
self.motivation = motivation self.motivation = motivation
@ -283,7 +283,7 @@ class Dossier < ActiveRecord::Base
end end
def read_only? def read_only?
received? || closed? || refused? || without_continuation? en_instruction? || accepte? || refuse? || sans_suite?
end end
def owner? email def owner? email
@ -294,8 +294,8 @@ class Dossier < ActiveRecord::Base
(invites_user.pluck :email).include? email (invites_user.pluck :email).include? email
end end
def can_be_initiated? def can_be_en_construction?
!(procedure.archivee? && draft?) !(procedure.archivee? && brouillon?)
end end
def text_summary def text_summary
@ -309,7 +309,7 @@ class Dossier < ActiveRecord::Base
else else
parts = [ parts = [
"Dossier déposé le ", "Dossier déposé le ",
initiated_at.localtime.strftime("%d/%m/%Y"), en_construction_at.localtime.strftime("%d/%m/%Y"),
" sur la procédure ", " sur la procédure ",
procedure.libelle, procedure.libelle,
" gérée par l'organisme ", " gérée par l'organisme ",
@ -364,11 +364,11 @@ class Dossier < ActiveRecord::Base
end end
def statut def statut
if closed? if accepte?
'accepté' 'accepté'
elsif without_continuation? elsif sans_suite?
'classé sans suite' 'classé sans suite'
elsif refused? elsif refuse?
'refusé' 'refusé'
end end
end end
@ -388,10 +388,10 @@ class Dossier < ActiveRecord::Base
end end
def update_state_dates def update_state_dates
if initiated? && !self.initiated_at if en_construction? && !self.en_construction_at
self.initiated_at = DateTime.now self.en_construction_at = DateTime.now
elsif received? && !self.received_at elsif en_instruction? && !self.en_instruction_at
self.received_at = DateTime.now self.en_instruction_at = DateTime.now
elsif TERMINE.include?(state) elsif TERMINE.include?(state)
self.processed_at = DateTime.now self.processed_at = DateTime.now
end end

View file

@ -59,7 +59,7 @@ class PieceJustificative < ActiveRecord::Base
private private
def internal_notification def internal_notification
unless self.type_de_piece_justificative.nil? && dossier.state == 'draft' unless self.type_de_piece_justificative.nil? && dossier.state == 'brouillon'
NotificationService.new('piece_justificative', self.dossier.id, self.libelle).notify NotificationService.new('piece_justificative', self.dossier.id, self.libelle).notify
end end
end end

View file

@ -14,13 +14,13 @@ class ProcedureOverview
@old_dossiers_en_instruction = procedure @old_dossiers_en_instruction = procedure
.dossiers .dossiers
.state_en_instruction .state_en_instruction
.where('received_at < ?', 1.week.ago) .where('en_instruction_at < ?', 1.week.ago)
@dossiers_en_construction_count = procedure.dossiers.state_en_construction.count @dossiers_en_construction_count = procedure.dossiers.state_en_construction.count
@old_dossiers_en_construction = procedure @old_dossiers_en_construction = procedure
.dossiers .dossiers
.state_en_construction .state_en_construction
.where('initiated_at < ?', 1.week.ago) .where('en_construction_at < ?', 1.week.ago)
@created_dossiers_count = procedure @created_dossiers_count = procedure
.dossiers .dossiers

View file

@ -35,10 +35,35 @@ class DossierSerializer < ActiveModel::Serializer
object.user.try(:email) object.user.try(:email)
end end
def state
case object.state
when 'en_construction'
'initiated'
when 'en_instruction'
'received'
when 'accepte'
'closed'
when 'refuse'
'refused'
when 'sans_suite'
'without_continuation'
else
object.state
end
end
def simplified_state def simplified_state
object.decorate.display_state object.decorate.display_state
end end
def initiated_at
object.en_construction_at
end
def received_at
object.en_instruction_at
end
def accompagnateurs def accompagnateurs
object.followers_gestionnaires.pluck(:email) object.followers_gestionnaires.pluck(:email)
end end

View file

@ -22,6 +22,31 @@ class DossierTableExportSerializer < ActiveModel::Serializer
object.user.try(:email) object.user.try(:email)
end end
def state
case object.state
when 'en_construction'
'initiated'
when 'en_instruction'
'received'
when 'accepte'
'closed'
when 'refuse'
'refused'
when 'sans_suite'
'without_continuation'
else
object.state
end
end
def initiated_at
object.en_construction_at
end
def received_at
object.en_instruction_at
end
def individual_prenom def individual_prenom
object.individual.try(:prenom) object.individual.try(:prenom)
end end

View file

@ -2,4 +2,8 @@ class DossiersSerializer < ActiveModel::Serializer
attributes :id, attributes :id,
:updated_at, :updated_at,
:initiated_at :initiated_at
def initiated_at
object.en_construction_at
end
end end

View file

@ -13,7 +13,7 @@
.col-xs-8.title-no-expanse .col-xs-8.title-no-expanse
.carret-right .carret-right
INFORMATIONS DU DEMANDEUR INFORMATIONS DU DEMANDEUR
- if !@current_gestionnaire && ["draft", "initiated"].include?(@facade.dossier.state) - if !@current_gestionnaire && ["brouillon", "en_construction"].include?(@facade.dossier.state)
%a#add_siret.action{ href: users_dossier_add_siret_path(dossier_id: @facade.dossier.id) } %a#add_siret.action{ href: users_dossier_add_siret_path(dossier_id: @facade.dossier.id) }
.col-lg-4.col-md-4.col-sm-4.col-xs-4.action .col-lg-4.col-md-4.col-sm-4.col-xs-4.action
Renseigner un SIRET Renseigner un SIRET

View file

@ -4,10 +4,10 @@
- if current_gestionnaire && current_gestionnaire.assigned_on_procedure?(@facade.dossier.procedure_id) - if current_gestionnaire && current_gestionnaire.assigned_on_procedure?(@facade.dossier.procedure_id)
#action-block #action-block
- if !@facade.dossier.read_only? || @facade.dossier.initiated? - if !@facade.dossier.read_only? || @facade.dossier.en_construction?
= link_to 'Passer en instruction', backoffice_dossier_receive_path(@facade.dossier), method: :post, class: 'btn btn-danger btn-block', data: { confirm: "Confirmer vous le passage en instruction de ce dossier ?" } = link_to 'Passer en instruction', backoffice_dossier_receive_path(@facade.dossier), method: :post, class: 'btn btn-danger btn-block', data: { confirm: "Confirmer vous le passage en instruction de ce dossier ?" }
- elsif @facade.dossier.received? - elsif @facade.dossier.en_instruction?
= form_tag(backoffice_dossier_process_dossier_url(@facade.dossier.id), method: :post) do = form_tag(backoffice_dossier_process_dossier_url(@facade.dossier.id), method: :post) do
= text_area :dossier, :motivation, class: "motivation-text-area", placeholder: "Motivation (facultative)" = text_area :dossier, :motivation, class: "motivation-text-area", placeholder: "Motivation (facultative)"

View file

@ -2,9 +2,9 @@
%span.label.instruction en instruction %span.label.instruction en instruction
- elsif dossier.en_construction? - elsif dossier.en_construction?
%span.label.construction en construction %span.label.construction en construction
- elsif dossier.closed? - elsif dossier.accepte?
%span.label.accepted accepté %span.label.accepted accepté
- elsif dossier.refused? - elsif dossier.refuse?
%span.label.refused refusé %span.label.refused refusé
- elsif dossier.without_continuation? - elsif dossier.sans_suite?
%span.label.without-continuation sans suite %span.label.without-continuation sans suite

View file

@ -89,7 +89,7 @@
dématérialisées dématérialisées
%li.number %li.number
.number-value .number-value
= number_with_delimiter(Dossier.where.not(:state => :draft).count, :locale => :fr) = number_with_delimiter(Dossier.where.not(:state => :brouillon).count, :locale => :fr)
.number-label< .number-label<
dossiers dossiers
%br<> %br<>

View file

@ -24,7 +24,7 @@
%input#quartier_prioritaires{ type: 'hidden', value: "#{@dossier.quartier_prioritaires.to_json}" } %input#quartier_prioritaires{ type: 'hidden', value: "#{@dossier.quartier_prioritaires.to_json}" }
%input#cadastres{ type: 'hidden', value: "#{@dossier.cadastres.to_json}" } %input#cadastres{ type: 'hidden', value: "#{@dossier.cadastres.to_json}" }
- if @dossier.draft? - if @dossier.brouillon?
= render partial: '/layouts/etape_suivante' = render partial: '/layouts/etape_suivante'
- else - else
= render partial: '/layouts/modifications_terminees' = render partial: '/layouts/modifications_terminees'

View file

@ -36,10 +36,10 @@
%div{ style: 'text-align: right;' } %div{ style: 'text-align: right;' }
%h6 Tous les champs portant un * sont obligatoires. %h6 Tous les champs portant un * sont obligatoires.
- if !@dossier.can_be_initiated? - if !@dossier.can_be_en_construction?
.alert.alert-danger .alert.alert-danger
= t('errors.messages.procedure_archived') = t('errors.messages.procedure_archived')
- elsif !@dossier.draft? - elsif !@dossier.brouillon?
= render partial: '/layouts/modifications_terminees' = render partial: '/layouts/modifications_terminees'
- else - else
= submit_tag 'Soumettre mon dossier', id: 'suivant', name: 'submit[nouveaux]', class: 'btn btn btn-success', style: 'float: right;', disabled: @procedure.archivee?, data: { disable_with: 'Soumettre votre dossier', submit: true } = submit_tag 'Soumettre mon dossier', id: 'suivant', name: 'submit[nouveaux]', class: 'btn btn btn-success', style: 'float: right;', disabled: @procedure.archivee?, data: { disable_with: 'Soumettre votre dossier', submit: true }

View file

@ -8,12 +8,12 @@ fr:
montant_aide_demande: "Le montant d'aide demandée" montant_aide_demande: "Le montant d'aide demandée"
date_previsionnelle: "La date de début prévisionnelle" date_previsionnelle: "La date de début prévisionnelle"
state: state:
draft: "Brouillon" brouillon: "Brouillon"
initiated: "En construction" en_construction: "En construction"
received: "En instruction" en_instruction: "En instruction"
closed: "Accepté" accepte: "Accepté"
refused: "Refusé" refuse: "Refusé"
without_continuation: "Sans suite" sans_suite: "Sans suite"
errors: errors:
models: models:

View file

@ -0,0 +1,5 @@
class RenameDossierInitiatedByEnConstruction < ActiveRecord::Migration[5.0]
def change
rename_column :dossiers, :initiated_at, :en_construction_at
end
end

View file

@ -0,0 +1,5 @@
class RenameDossierReceivedAtByEnInstructionAt < ActiveRecord::Migration[5.0]
def change
rename_column :dossiers, :received_at, :en_instruction_at
end
end

View file

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20171205151128) do ActiveRecord::Schema.define(version: 20171214155554) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -194,8 +194,8 @@ ActiveRecord::Schema.define(version: 20171205151128) do
t.text "json_latlngs" t.text "json_latlngs"
t.boolean "archived", default: false t.boolean "archived", default: false
t.boolean "mandataire_social", default: false t.boolean "mandataire_social", default: false
t.datetime "initiated_at" t.datetime "en_construction_at"
t.datetime "received_at" t.datetime "en_instruction_at"
t.datetime "processed_at" t.datetime "processed_at"
t.text "motivation" t.text "motivation"
t.datetime "hidden_at" t.datetime "hidden_at"

View file

@ -0,0 +1,37 @@
namespace :'2017_12_04_translate_dossier_state_to_french' do
task brouillon: :environment do
Dossier.unscoped.where(state: 'draft').update_all(state: 'brouillon')
end
task en_construction: :environment do
Dossier.unscoped.where(state: 'initiated').update_all(state: 'en_construction')
end
task en_instruction: :environment do
Dossier.unscoped.where(state: 'received').update_all(state: 'en_instruction')
end
task accepte: :environment do
Dossier.unscoped.where(state: 'closed').update_all(state: 'accepte')
end
task refuse: :environment do
Dossier.unscoped.where(state: 'refused').update_all(state: 'refuse')
end
task sans_suite: :environment do
Dossier.unscoped.where(state: 'without_continuation').update_all(state: 'sans_suite')
end
task all: %i(brouillon en_construction en_instruction accepte refuse sans_suite) do
end
task revert: :environment do
Dossier.unscoped.where(state: 'brouillon').update_all(state: 'draft')
Dossier.unscoped.where(state: 'en_construction').update_all(state: 'initiated')
Dossier.unscoped.where(state: 'en_instruction').update_all(state: 'received')
Dossier.unscoped.where(state: 'accepte').update_all(state: 'closed')
Dossier.unscoped.where(state: 'refuse').update_all(state: 'refused')
Dossier.unscoped.where(state: 'sans_suite').update_all(state: 'without_continuation')
end
end

View file

@ -25,7 +25,7 @@ describe API::V1::DossiersController do
context 'when procedure is found and belongs to admin' do context 'when procedure is found and belongs to admin' do
let(:procedure_id) { procedure.id } let(:procedure_id) { procedure.id }
let(:date_creation) { Time.utc(2008, 9, 1, 10, 5, 0) } let(:date_creation) { Time.utc(2008, 9, 1, 10, 5, 0) }
let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, :initiated, procedure: procedure) } } let!(:dossier) { Timecop.freeze(date_creation) { create(:dossier, :with_entreprise, :en_construction, procedure: procedure) } }
let(:body) { JSON.parse(retour.body, symbolize_names: true) } let(:body) { JSON.parse(retour.body, symbolize_names: true) }
it 'return REST code 200', :show_in_doc do it 'return REST code 200', :show_in_doc do
@ -61,8 +61,8 @@ describe API::V1::DossiersController do
context 'when there are multiple pages' do context 'when there are multiple pages' do
let(:retour) { get :index, params: {token: admin.api_token, procedure_id: procedure_id, page: 2} } let(:retour) { get :index, params: {token: admin.api_token, procedure_id: procedure_id, page: 2} }
let!(:dossier1) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let!(:dossier1) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
before do before do
allow(Dossier).to receive(:per_page).and_return(1) allow(Dossier).to receive(:per_page).and_return(1)

View file

@ -5,7 +5,7 @@ describe Backoffice::AvisController, type: :controller do
let(:claimant){ create(:gestionnaire) } let(:claimant){ create(:gestionnaire) }
let(:gestionnaire){ create(:gestionnaire) } let(:gestionnaire){ create(:gestionnaire) }
let!(:dossier) do let!(:dossier) do
dossier = create(:dossier, state: 'received') dossier = create(:dossier, state: 'en_instruction')
claimant.procedures << [dossier.procedure] claimant.procedures << [dossier.procedure]
dossier dossier
end end
@ -40,7 +40,7 @@ describe Backoffice::AvisController, type: :controller do
describe '#POST update' do describe '#POST update' do
let(:gestionnaire){ create(:gestionnaire) } let(:gestionnaire){ create(:gestionnaire) }
let(:dossier){ create(:dossier, state: 'received') } let(:dossier){ create(:dossier, state: 'en_instruction') }
let(:avis){ create(:avis, dossier: dossier, gestionnaire: gestionnaire )} let(:avis){ create(:avis, dossier: dossier, gestionnaire: gestionnaire )}
subject { post :update, params: { dossier_id: dossier.id, id: avis.id, avis: { answer: "Ok ce dossier est valide." } } } subject { post :update, params: { dossier_id: dossier.id, id: avis.id, avis: { answer: "Ok ce dossier est valide." } } }

View file

@ -1,7 +1,7 @@
require 'spec_helper' require 'spec_helper'
describe Backoffice::CommentairesController, type: :controller do describe Backoffice::CommentairesController, type: :controller do
let(:dossier) { create(:dossier, :initiated) } let(:dossier) { create(:dossier, :en_construction) }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:email_commentaire) { 'test@test.com' } let(:email_commentaire) { 'test@test.com' }
let(:texte_commentaire) { 'Commentaire de test' } let(:texte_commentaire) { 'Commentaire de test' }
@ -89,10 +89,10 @@ describe Backoffice::CommentairesController, type: :controller do
describe 'change dossier state after post a comment' do describe 'change dossier state after post a comment' do
context 'gestionnaire is connected' do context 'gestionnaire is connected' do
context 'when dossier is at state initiated' do context 'when dossier is at state en_construction' do
before do before do
sign_in gestionnaire sign_in gestionnaire
dossier.initiated! dossier.en_construction!
post :create, params: {dossier_id: dossier_id, texte_commentaire: texte_commentaire} post :create, params: {dossier_id: dossier_id, texte_commentaire: texte_commentaire}
dossier.reload dossier.reload

View file

@ -4,7 +4,7 @@ describe Backoffice::Dossiers::ProcedureController, type: :controller do
let(:gestionnaire) { create :gestionnaire } let(:gestionnaire) { create :gestionnaire }
let(:procedure) { create :procedure, :published } let(:procedure) { create :procedure, :published }
let(:archived) { false } let(:archived) { false }
let(:dossier) { create :dossier, procedure: procedure, archived: archived, state: 'initiated'} let(:dossier) { create :dossier, procedure: procedure, archived: archived, state: 'en_construction'}
before do before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure create :assign_to, gestionnaire: gestionnaire, procedure: procedure

View file

@ -7,8 +7,8 @@ describe Backoffice::DossiersController, type: :controller do
let(:procedure) { create :procedure, :published } let(:procedure) { create :procedure, :published }
let(:procedure2) { create :procedure, :published } let(:procedure2) { create :procedure, :published }
let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: :initiated) } let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: :en_construction) }
let(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure2, state: :initiated) } let(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure2, state: :en_construction) }
let(:dossier_archived) { create(:dossier, :with_entreprise, archived: true) } let(:dossier_archived) { create(:dossier, :with_entreprise, archived: true) }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
@ -222,13 +222,13 @@ describe Backoffice::DossiersController, type: :controller do
describe 'POST #receive' do describe 'POST #receive' do
before do before do
dossier.initiated! dossier.en_construction!
sign_in gestionnaire sign_in gestionnaire
post :receive, params: { dossier_id: dossier_id } post :receive, params: { dossier_id: dossier_id }
dossier.reload dossier.reload
end end
it { expect(dossier.state).to eq('received') } it { expect(dossier.state).to eq('en_instruction') }
it { is_expected.to redirect_to backoffice_dossier_path(dossier) } it { is_expected.to redirect_to backoffice_dossier_path(dossier) }
it { expect(gestionnaire.follow?(dossier)).to be true } it { expect(gestionnaire.follow?(dossier)).to be true }
end end
@ -236,17 +236,17 @@ describe Backoffice::DossiersController, type: :controller do
describe 'POST #process_dossier' do describe 'POST #process_dossier' do
context "with refuse" do context "with refuse" do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :process_dossier, params: { process_action: "refuse", dossier_id: dossier_id} } subject { post :process_dossier, params: { process_action: "refuse", dossier_id: dossier_id} }
it 'change state to refused' do it 'change state to refuse' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('refused') expect(dossier.state).to eq('refuse')
end end
it 'Notification email is sent' do it 'Notification email is sent' do
@ -260,19 +260,19 @@ describe Backoffice::DossiersController, type: :controller do
it { is_expected.to redirect_to backoffice_dossier_path(id: dossier.id) } it { is_expected.to redirect_to backoffice_dossier_path(id: dossier.id) }
end end
context "with without_continuation" do context "with sans_suite" do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :process_dossier, params: { process_action: "without_continuation", dossier_id: dossier_id} } subject { post :process_dossier, params: { process_action: "without_continuation", dossier_id: dossier_id} }
it 'change state to without_continuation' do it 'change state to sans_suite' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('without_continuation') expect(dossier.state).to eq('sans_suite')
end end
it 'Notification email is sent' do it 'Notification email is sent' do
@ -290,7 +290,7 @@ describe Backoffice::DossiersController, type: :controller do
let(:expected_attestation) { nil } let(:expected_attestation) { nil }
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
expect(NotificationMailer).to receive(:send_notification) expect(NotificationMailer).to receive(:send_notification)
@ -302,11 +302,11 @@ describe Backoffice::DossiersController, type: :controller do
subject { post :process_dossier, params: { process_action: "close", dossier_id: dossier_id} } subject { post :process_dossier, params: { process_action: "close", dossier_id: dossier_id} }
it 'change state to closed' do it 'change state to accepte' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('closed') expect(dossier.state).to eq('accepte')
end end
context 'when the dossier does not have any attestation' do context 'when the dossier does not have any attestation' do
@ -354,17 +354,17 @@ describe Backoffice::DossiersController, type: :controller do
describe 'POST #reopen' do describe 'POST #reopen' do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :reopen, params: {dossier_id: dossier_id} } subject { post :reopen, params: {dossier_id: dossier_id} }
it 'change state to initiated' do it 'change state to en_construction' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('initiated') expect(dossier.state).to eq('en_construction')
end end
it { is_expected.to redirect_to backoffice_dossier_path(id: dossier_id) } it { is_expected.to redirect_to backoffice_dossier_path(id: dossier_id) }

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe Backoffice::PrivateFormulairesController, type: :controller do describe Backoffice::PrivateFormulairesController, type: :controller do
let(:gestionnaire) { create :gestionnaire } let(:gestionnaire) { create :gestionnaire }
let(:dossier) { create :dossier, state: :initiated } let(:dossier) { create :dossier, state: :en_construction }
let(:dossier_champs_first) { 'plop' } let(:dossier_champs_first) { 'plop' }
before do before do

View file

@ -1,7 +1,7 @@
require 'spec_helper' require 'spec_helper'
describe InvitesController, type: :controller do describe InvitesController, type: :controller do
let(:dossier) { create(:dossier, :initiated) } let(:dossier) { create(:dossier, :en_construction) }
let(:email) { 'plop@octo.com' } let(:email) { 'plop@octo.com' }
describe '#POST create' do describe '#POST create' do

View file

@ -6,7 +6,7 @@ describe NewGestionnaire::AvisController, type: :controller do
let(:claimant) { create(:gestionnaire) } let(:claimant) { create(:gestionnaire) }
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
let(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) } let(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) }
let(:dossier) { create(:dossier, :initiated, procedure: procedure) } let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
let!(:avis_without_answer) { Avis.create(dossier: dossier, claimant: claimant, gestionnaire: gestionnaire) } let!(:avis_without_answer) { Avis.create(dossier: dossier, claimant: claimant, gestionnaire: gestionnaire) }
let!(:avis_with_answer) { Avis.create(dossier: dossier, claimant: claimant, gestionnaire: gestionnaire, answer: 'yop') } let!(:avis_with_answer) { Avis.create(dossier: dossier, claimant: claimant, gestionnaire: gestionnaire, answer: 'yop') }

View file

@ -5,16 +5,16 @@ describe NewGestionnaire::DossiersController, type: :controller do
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
let(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) } let(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) }
let(:dossier) { create(:dossier, :initiated, procedure: procedure) } let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
before { sign_in(gestionnaire) } before { sign_in(gestionnaire) }
describe '#attestation' do describe '#attestation' do
context 'when a dossier has an attestation' do context 'when a dossier has an attestation' do
let(:fake_pdf) { double(read: 'pdf content') } let(:fake_pdf) { double(read: 'pdf content') }
let!(:dossier) { create(:dossier, :initiated, attestation: Attestation.new, procedure: procedure) } let!(:dossier) { create(:dossier, :en_construction, attestation: Attestation.new, procedure: procedure) }
let!(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) } let!(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) }
let!(:dossier) { create(:dossier, :initiated, attestation: Attestation.new, procedure: procedure) } let!(:dossier) { create(:dossier, :en_construction, attestation: Attestation.new, procedure: procedure) }
it 'returns the attestation pdf' do it 'returns the attestation pdf' do
allow_any_instance_of(Attestation).to receive(:pdf).and_return(fake_pdf) allow_any_instance_of(Attestation).to receive(:pdf).and_return(fake_pdf)
@ -79,30 +79,30 @@ describe NewGestionnaire::DossiersController, type: :controller do
describe '#passer_en_instruction' do describe '#passer_en_instruction' do
before do before do
dossier.initiated! dossier.en_construction!
sign_in gestionnaire sign_in gestionnaire
post :passer_en_instruction, params: { procedure_id: procedure.id, dossier_id: dossier.id } post :passer_en_instruction, params: { procedure_id: procedure.id, dossier_id: dossier.id }
dossier.reload dossier.reload
end end
it { expect(dossier.state).to eq('received') } it { expect(dossier.state).to eq('en_instruction') }
it { is_expected.to redirect_to dossier_path(procedure, dossier) } it { is_expected.to redirect_to dossier_path(procedure, dossier) }
it { expect(gestionnaire.follow?(dossier)).to be true } it { expect(gestionnaire.follow?(dossier)).to be true }
end end
describe '#repasser_en_construction' do describe '#repasser_en_construction' do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :repasser_en_construction, params: { procedure_id: procedure.id, dossier_id: dossier.id} } subject { post :repasser_en_construction, params: { procedure_id: procedure.id, dossier_id: dossier.id} }
it 'change state to initiated' do it 'change state to en_construction' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('initiated') expect(dossier.state).to eq('en_construction')
end end
it { is_expected.to redirect_to dossier_path(procedure, dossier) } it { is_expected.to redirect_to dossier_path(procedure, dossier) }
@ -111,17 +111,17 @@ describe NewGestionnaire::DossiersController, type: :controller do
describe '#terminer' do describe '#terminer' do
context "with refuser" do context "with refuser" do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :terminer, params: { process_action: "refuser", procedure_id: procedure.id, dossier_id: dossier.id} } subject { post :terminer, params: { process_action: "refuser", procedure_id: procedure.id, dossier_id: dossier.id} }
it 'change state to refused' do it 'change state to refuse' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('refused') expect(dossier.state).to eq('refuse')
end end
it 'Notification email is sent' do it 'Notification email is sent' do
@ -137,17 +137,17 @@ describe NewGestionnaire::DossiersController, type: :controller do
context "with classer_sans_suite" do context "with classer_sans_suite" do
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
end end
subject { post :terminer, params: { process_action: "classer_sans_suite", procedure_id: procedure.id, dossier_id: dossier.id} } subject { post :terminer, params: { process_action: "classer_sans_suite", procedure_id: procedure.id, dossier_id: dossier.id} }
it 'change state to without_continuation' do it 'change state to sans_suite' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('without_continuation') expect(dossier.state).to eq('sans_suite')
end end
it 'Notification email is sent' do it 'Notification email is sent' do
@ -165,7 +165,7 @@ describe NewGestionnaire::DossiersController, type: :controller do
let(:expected_attestation) { nil } let(:expected_attestation) { nil }
before do before do
dossier.received! dossier.en_instruction!
sign_in gestionnaire sign_in gestionnaire
expect(NotificationMailer).to receive(:send_notification) expect(NotificationMailer).to receive(:send_notification)
@ -177,11 +177,11 @@ describe NewGestionnaire::DossiersController, type: :controller do
subject { post :terminer, params: { process_action: "accepter", procedure_id: procedure.id, dossier_id: dossier.id} } subject { post :terminer, params: { process_action: "accepter", procedure_id: procedure.id, dossier_id: dossier.id} }
it 'change state to closed' do it 'change state to accepte' do
subject subject
dossier.reload dossier.reload
expect(dossier.state).to eq('closed') expect(dossier.state).to eq('accepte')
end end
context 'when the dossier does not have any attestation' do context 'when the dossier does not have any attestation' do
@ -344,7 +344,7 @@ describe NewGestionnaire::DossiersController, type: :controller do
end end
let(:dossier) do let(:dossier) do
create(:dossier, :initiated, procedure: procedure, champs_private: [champ_multiple_drop_down_list, champ_datetime]) create(:dossier, :en_construction, procedure: procedure, champs_private: [champ_multiple_drop_down_list, champ_datetime])
end end
before do before do

View file

@ -121,8 +121,8 @@ describe NewGestionnaire::ProceduresController, type: :controller do
dossier dossier
end end
context "with draft state" do context "with brouillon state" do
let(:state) { "draft" } let(:state) { "brouillon" }
before { subject } before { subject }
it { expect(assigns(:dossiers_count_per_procedure)[procedure.id]).to eq(nil) } it { expect(assigns(:dossiers_count_per_procedure)[procedure.id]).to eq(nil) }
@ -134,17 +134,17 @@ describe NewGestionnaire::ProceduresController, type: :controller do
context "with not draft state on multiple procedures" do context "with not draft state on multiple procedures" do
let(:procedure2) { create(:procedure, :published) } let(:procedure2) { create(:procedure, :published) }
let(:state) { "initiated" } let(:state) { "en_construction" }
before do before do
create(:dossier, procedure: procedure, state: "initiated") create(:dossier, procedure: procedure, state: "en_construction")
create(:dossier, procedure: procedure, state: "received") create(:dossier, procedure: procedure, state: "en_instruction")
create(:dossier, procedure: procedure, state: "without_continuation", archived: true) create(:dossier, procedure: procedure, state: "sans_suite", archived: true)
gestionnaire.procedures << procedure2 gestionnaire.procedures << procedure2
create(:dossier, :followed, procedure: procedure2, state: "initiated") create(:dossier, :followed, procedure: procedure2, state: "en_construction")
create(:dossier, procedure: procedure2, state: "closed") create(:dossier, procedure: procedure2, state: "accepte")
gestionnaire.followed_dossiers << create(:dossier, procedure: procedure2, state: "received") gestionnaire.followed_dossiers << create(:dossier, procedure: procedure2, state: "en_instruction")
subject subject
end end
@ -181,8 +181,8 @@ describe NewGestionnaire::ProceduresController, type: :controller do
it { expect(assigns(:procedure)).to eq(procedure) } it { expect(assigns(:procedure)).to eq(procedure) }
end end
context 'with a new draft dossier' do context 'with a new brouillon dossier' do
let!(:draft_dossier) { create(:dossier, procedure: procedure, state: 'draft') } let!(:brouillon_dossier) { create(:dossier, procedure: procedure, state: 'brouillon') }
before do before do
get :show, params: { procedure_id: procedure.id } get :show, params: { procedure_id: procedure.id }
@ -196,7 +196,7 @@ describe NewGestionnaire::ProceduresController, type: :controller do
end end
context 'with a new dossier without follower' do context 'with a new dossier without follower' do
let!(:new_unfollow_dossier) { create(:dossier, procedure: procedure, state: 'received') } let!(:new_unfollow_dossier) { create(:dossier, procedure: procedure, state: 'en_instruction') }
before do before do
get :show, params: { procedure_id: procedure.id } get :show, params: { procedure_id: procedure.id }
@ -210,7 +210,7 @@ describe NewGestionnaire::ProceduresController, type: :controller do
end end
context 'with a new dossier with a follower' do context 'with a new dossier with a follower' do
let!(:new_followed_dossier) { create(:dossier, procedure: procedure, state: 'received') } let!(:new_followed_dossier) { create(:dossier, procedure: procedure, state: 'en_instruction') }
before do before do
gestionnaire.followed_dossiers << new_followed_dossier gestionnaire.followed_dossiers << new_followed_dossier
@ -225,7 +225,7 @@ describe NewGestionnaire::ProceduresController, type: :controller do
end end
context 'with a termine dossier with a follower' do context 'with a termine dossier with a follower' do
let!(:termine_dossier) { create(:dossier, procedure: procedure, state: 'closed') } let!(:termine_dossier) { create(:dossier, procedure: procedure, state: 'accepte') }
before do before do
get :show, params: { procedure_id: procedure.id } get :show, params: { procedure_id: procedure.id }
@ -239,7 +239,7 @@ describe NewGestionnaire::ProceduresController, type: :controller do
end end
context 'with an archived dossier' do context 'with an archived dossier' do
let!(:archived_dossier) { create(:dossier, procedure: procedure, state: 'received', archived: true) } let!(:archived_dossier) { create(:dossier, procedure: procedure, state: 'en_instruction', archived: true) }
before do before do
get :show, params: { procedure_id: procedure.id } get :show, params: { procedure_id: procedure.id }
@ -253,10 +253,10 @@ describe NewGestionnaire::ProceduresController, type: :controller do
end end
describe 'statut' do describe 'statut' do
let!(:a_suivre__dossier) { Timecop.freeze(1.day.ago){ create(:dossier, procedure: procedure, state: 'received') } } let!(:a_suivre__dossier) { Timecop.freeze(1.day.ago){ create(:dossier, procedure: procedure, state: 'en_instruction') } }
let!(:new_followed_dossier) { Timecop.freeze(2.day.ago){ create(:dossier, procedure: procedure, state: 'received') } } let!(:new_followed_dossier) { Timecop.freeze(2.day.ago){ create(:dossier, procedure: procedure, state: 'en_instruction') } }
let!(:termine_dossier) { Timecop.freeze(3.day.ago){ create(:dossier, procedure: procedure, state: 'closed') } } let!(:termine_dossier) { Timecop.freeze(3.day.ago){ create(:dossier, procedure: procedure, state: 'accepte') } }
let!(:archived_dossier) { Timecop.freeze(4.day.ago){ create(:dossier, procedure: procedure, state: 'received', archived: true) } } let!(:archived_dossier) { Timecop.freeze(4.day.ago){ create(:dossier, procedure: procedure, state: 'en_instruction', archived: true) } }
before do before do
gestionnaire.followed_dossiers << new_followed_dossier gestionnaire.followed_dossiers << new_followed_dossier

View file

@ -1,8 +1,8 @@
require 'spec_helper' require 'spec_helper'
describe NewGestionnaire::RechercheController, type: :controller do describe NewGestionnaire::RechercheController, type: :controller do
let(:dossier) { create(:dossier, :initiated) } let(:dossier) { create(:dossier, :en_construction) }
let(:dossier2) { create(:dossier, :initiated, procedure: dossier.procedure) } let(:dossier2) { create(:dossier, :en_construction, procedure: dossier.procedure) }
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
before { gestionnaire.procedures << dossier2.procedure } before { gestionnaire.procedures << dossier2.procedure }
@ -26,7 +26,7 @@ describe NewGestionnaire::RechercheController, type: :controller do
end end
context 'when gestionnaire do not own the dossier' do context 'when gestionnaire do not own the dossier' do
let(:dossier3) { create(:dossier, :initiated) } let(:dossier3) { create(:dossier, :en_construction) }
let(:query) { dossier3.id } let(:query) { dossier3.id }
it { is_expected.to have_http_status(200) } it { is_expected.to have_http_status(200) }

View file

@ -141,24 +141,24 @@ describe StatsController, type: :controller do
procedure_1 = FactoryGirl.create(:procedure) procedure_1 = FactoryGirl.create(:procedure)
procedure_2 = FactoryGirl.create(:procedure) procedure_2 = FactoryGirl.create(:procedure)
dossier_p1_a = FactoryGirl.create(:dossier, dossier_p1_a = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:initiated_at => 2.months.ago.beginning_of_month, :en_construction_at => 2.months.ago.beginning_of_month,
:processed_at => 2.months.ago.beginning_of_month + 3.days) :processed_at => 2.months.ago.beginning_of_month + 3.days)
dossier_p1_b = FactoryGirl.create(:dossier, dossier_p1_b = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:initiated_at => 2.months.ago.beginning_of_month, :en_construction_at => 2.months.ago.beginning_of_month,
:processed_at => 2.months.ago.beginning_of_month + 1.days) :processed_at => 2.months.ago.beginning_of_month + 1.days)
dossier_p1_c = FactoryGirl.create(:dossier, dossier_p1_c = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:initiated_at => 1.months.ago.beginning_of_month, :en_construction_at => 1.months.ago.beginning_of_month,
:processed_at => 1.months.ago.beginning_of_month + 5.days) :processed_at => 1.months.ago.beginning_of_month + 5.days)
dossier_p2_a = FactoryGirl.create(:dossier, dossier_p2_a = FactoryGirl.create(:dossier,
:procedure => procedure_2, :procedure => procedure_2,
:initiated_at => 2.month.ago.beginning_of_month, :en_construction_at => 2.month.ago.beginning_of_month,
:processed_at => 2.month.ago.beginning_of_month + 4.days) :processed_at => 2.month.ago.beginning_of_month + 4.days)
# Write directly in the DB to avoid the before_validation hook # Write directly in the DB to avoid the before_validation hook
Dossier.update_all(state: "closed") Dossier.update_all(state: "accepte")
@expected_hash = { @expected_hash = {
"#{2.months.ago.beginning_of_month}" => 3.0, "#{2.months.ago.beginning_of_month}" => 3.0,
@ -166,7 +166,7 @@ describe StatsController, type: :controller do
} }
end end
let (:association) { Dossier.where.not(:state => :draft) } let (:association) { Dossier.where.not(:state => :brouillon) }
subject { StatsController.new.send(:dossier_instruction_mean_time, association) } subject { StatsController.new.send(:dossier_instruction_mean_time, association) }
@ -191,26 +191,26 @@ describe StatsController, type: :controller do
dossier_p1_a = FactoryGirl.create(:dossier, dossier_p1_a = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:created_at => 2.months.ago.beginning_of_month, :created_at => 2.months.ago.beginning_of_month,
:initiated_at => 2.months.ago.beginning_of_month + 30.minutes, :en_construction_at => 2.months.ago.beginning_of_month + 30.minutes,
:processed_at => 2.months.ago.beginning_of_month + 1.day) :processed_at => 2.months.ago.beginning_of_month + 1.day)
dossier_p1_b = FactoryGirl.create(:dossier, dossier_p1_b = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:created_at => 2.months.ago.beginning_of_month, :created_at => 2.months.ago.beginning_of_month,
:initiated_at => 2.months.ago.beginning_of_month + 10.minutes, :en_construction_at => 2.months.ago.beginning_of_month + 10.minutes,
:processed_at => 2.months.ago.beginning_of_month + 1.day) :processed_at => 2.months.ago.beginning_of_month + 1.day)
dossier_p1_c = FactoryGirl.create(:dossier, dossier_p1_c = FactoryGirl.create(:dossier,
:procedure => procedure_1, :procedure => procedure_1,
:created_at => 1.months.ago.beginning_of_month, :created_at => 1.months.ago.beginning_of_month,
:initiated_at => 1.months.ago.beginning_of_month + 50.minutes, :en_construction_at => 1.months.ago.beginning_of_month + 50.minutes,
:processed_at => 1.months.ago.beginning_of_month + 1.day) :processed_at => 1.months.ago.beginning_of_month + 1.day)
dossier_p2_a = FactoryGirl.create(:dossier, dossier_p2_a = FactoryGirl.create(:dossier,
:procedure => procedure_2, :procedure => procedure_2,
:created_at => 2.month.ago.beginning_of_month, :created_at => 2.month.ago.beginning_of_month,
:initiated_at => 2.month.ago.beginning_of_month + 80.minutes, :en_construction_at => 2.month.ago.beginning_of_month + 80.minutes,
:processed_at => 2.month.ago.beginning_of_month + 1.day) :processed_at => 2.month.ago.beginning_of_month + 1.day)
# Write directly in the DB to avoid the before_validation hook # Write directly in the DB to avoid the before_validation hook
Dossier.update_all(state: "closed") Dossier.update_all(state: "accepte")
@expected_hash = { @expected_hash = {
"#{2.months.ago.beginning_of_month}" => 30.0, "#{2.months.ago.beginning_of_month}" => 30.0,
@ -218,7 +218,7 @@ describe StatsController, type: :controller do
} }
end end
let (:association) { Dossier.where.not(:state => :draft) } let (:association) { Dossier.where.not(:state => :brouillon) }
subject { StatsController.new.send(:dossier_filling_mean_time, association) } subject { StatsController.new.send(:dossier_filling_mean_time, association) }

View file

@ -4,7 +4,7 @@ shared_examples 'carte_controller_spec' do
context 'when dossiers procedure have api carto actived' do context 'when dossiers procedure have api carto actived' do
context 'when dossier does not have a valid state' do context 'when dossier does not have a valid state' do
before do before do
dossier.state = 'received' dossier.state = 'en_instruction'
dossier.save dossier.save
get :show, params: {dossier_id: dossier.id} get :show, params: {dossier_id: dossier.id}
@ -67,7 +67,7 @@ shared_examples 'carte_controller_spec' do
end end
context 'En train de modifier la localisation' do context 'En train de modifier la localisation' do
let(:dossier) { create(:dossier, state: 'initiated') } let(:dossier) { create(:dossier, state: 'en_construction') }
before do before do
post :save, params: {dossier_id: dossier.id, json_latlngs: ''} post :save, params: {dossier_id: dossier.id, json_latlngs: ''}
end end

View file

@ -31,8 +31,8 @@ shared_examples 'description_controller_spec' do
it { expect(response).to have_http_status(:success) } it { expect(response).to have_http_status(:success) }
it { expect(response.body).to_not have_content(I18n.t('errors.messages.procedure_archived')) } it { expect(response.body).to_not have_content(I18n.t('errors.messages.procedure_archived')) }
context 'dossier is a draft' do context 'dossier is a brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { expect(response).to have_http_status(:success) } it { expect(response).to have_http_status(:success) }
it { expect(response.body).to have_content(I18n.t('errors.messages.procedure_archived')) } it { expect(response.body).to have_content(I18n.t('errors.messages.procedure_archived')) }
@ -52,7 +52,7 @@ shared_examples 'description_controller_spec' do
describe 'before_action authorized_routes?' do describe 'before_action authorized_routes?' do
context 'when dossier does not have a valid state' do context 'when dossier does not have a valid state' do
before do before do
dossier.state = 'received' dossier.state = 'en_instruction'
dossier.save dossier.save
get :show, params: {dossier_id: dossier.id} get :show, params: {dossier_id: dossier.id}
@ -115,7 +115,7 @@ shared_examples 'description_controller_spec' do
subject { post :update, params: {dossier_id: dossier_id, submit: submit} } subject { post :update, params: {dossier_id: dossier_id, submit: submit} }
before do before do
dossier.draft! dossier.brouillon!
subject subject
dossier.reload dossier.reload
end end
@ -125,10 +125,10 @@ shared_examples 'description_controller_spec' do
end end
it 'etat du dossier est soumis' do it 'etat du dossier est soumis' do
expect(dossier.state).to eq('initiated') expect(dossier.state).to eq('en_construction')
end end
context 'when user whould like save just a draft' do context 'when user whould like save just a brouillon' do
let(:submit) { {brouillon: 'brouillon'} } let(:submit) { {brouillon: 'brouillon'} }
it "redirection vers la page recapitulative" do it "redirection vers la page recapitulative" do
@ -136,14 +136,14 @@ shared_examples 'description_controller_spec' do
end end
it 'etat du dossier est soumis' do it 'etat du dossier est soumis' do
expect(dossier.state).to eq('draft') expect(dossier.state).to eq('brouillon')
end end
end end
end end
context 'En train de manipuler un dossier non brouillon' do context 'En train de manipuler un dossier non brouillon' do
before do before do
dossier.initiated! dossier.en_construction!
post :update, params: {dossier_id: dossier_id} post :update, params: {dossier_id: dossier_id}
dossier.reload dossier.reload
end end
@ -153,7 +153,7 @@ shared_examples 'description_controller_spec' do
end end
it 'etat du dossier n\'est pas soumis' do it 'etat du dossier n\'est pas soumis' do
expect(dossier.state).not_to eq('draft') expect(dossier.state).not_to eq('brouillon')
end end
end end
end end
@ -313,7 +313,7 @@ shared_examples 'description_controller_spec' do
it { expect(response.status).to eq(302) } it { expect(response.status).to eq(302) }
context 'Le dossier est en brouillon' do context 'Le dossier est en brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { expect(response.status).to eq(403) } it { expect(response.status).to eq(403) }
end end

View file

@ -6,7 +6,7 @@ describe Users::DescriptionController, type: :controller, vcr: {cassette_name: '
let(:owner_user) { create(:user) } let(:owner_user) { create(:user) }
let(:invite_by_user) { create :user, email: 'invite@plop.com' } let(:invite_by_user) { create :user, email: 'invite@plop.com' }
let(:archived_at) { nil } let(:archived_at) { nil }
let(:state) { 'initiated' } let(:state) { 'en_construction' }
let(:procedure) { create(:procedure, :with_two_type_de_piece_justificative, :with_type_de_champ, :with_datetime, cerfa_flag: true, published_at: Time.now, archived_at: archived_at) } let(:procedure) { create(:procedure, :with_two_type_de_piece_justificative, :with_type_de_champ, :with_datetime, cerfa_flag: true, published_at: Time.now, archived_at: archived_at) }
let(:dossier) { create(:dossier, procedure: procedure, user: owner_user, state: state) } let(:dossier) { create(:dossier, procedure: procedure, user: owner_user, state: state) }

View file

@ -39,7 +39,7 @@ describe Users::DossiersController, type: :controller do
describe 'before_action authorized_routes?' do describe 'before_action authorized_routes?' do
context 'when dossier does not have a valid state' do context 'when dossier does not have a valid state' do
before do before do
dossier.state = 'received' dossier.state = 'en_instruction'
dossier.save dossier.save
get :show, params: {id: dossier.id} get :show, params: {id: dossier.id}
@ -254,9 +254,9 @@ describe Users::DossiersController, type: :controller do
expect(Dossier.last.procedure).to eq(Procedure.last) expect(Dossier.last.procedure).to eq(Procedure.last)
end end
it 'state of dossier is draft' do it 'state of dossier is brouillon' do
subject subject
expect(Dossier.last.state).to eq('draft') expect(Dossier.last.state).to eq('brouillon')
end end
describe 'Mandataires Sociaux' do describe 'Mandataires Sociaux' do
@ -434,8 +434,8 @@ describe Users::DossiersController, type: :controller do
describe 'DELETE #destroy' do describe 'DELETE #destroy' do
let(:user) { create(:user) } let(:user) { create(:user) }
let!(:dossier_draft) { create :dossier, state: "draft", user: user } let!(:dossier_brouillon) { create :dossier, state: "brouillon", user: user }
let!(:dossier_not_draft) { create :dossier, state: "initiated", user: user } let!(:dossier_not_brouillon) { create :dossier, state: "en_construction", user: user }
subject { delete :destroy, params: {id: dossier.id} } subject { delete :destroy, params: {id: dossier.id} }
@ -443,8 +443,8 @@ describe Users::DossiersController, type: :controller do
sign_in user sign_in user
end end
context 'when dossier is draft' do context 'when dossier is brouillon' do
let(:dossier) { dossier_draft } let(:dossier) { dossier_brouillon }
it { expect(subject.status).to eq 302 } it { expect(subject.status).to eq 302 }
@ -464,8 +464,8 @@ describe Users::DossiersController, type: :controller do
it { expect { subject }.to change { Dossier.count }.by(-1) } it { expect { subject }.to change { Dossier.count }.by(-1) }
end end
context 'when dossier is not a draft' do context 'when dossier is not a brouillon' do
let(:dossier) { dossier_not_draft } let(:dossier) { dossier_not_brouillon }
it { expect { subject }.to change { Dossier.count }.by(0) } it { expect { subject }.to change { Dossier.count }.by(0) }
end end

View file

@ -1,7 +1,7 @@
require 'spec_helper' require 'spec_helper'
describe Users::RecapitulatifController, type: :controller do describe Users::RecapitulatifController, type: :controller do
let(:dossier) { create(:dossier, state: 'initiated') } let(:dossier) { create(:dossier, state: 'en_construction') }
let(:bad_dossier_id) { Dossier.count + 100000 } let(:bad_dossier_id) { Dossier.count + 100000 }
before do before do
@ -22,9 +22,9 @@ describe Users::RecapitulatifController, type: :controller do
it_behaves_like "not owner of dossier", :show it_behaves_like "not owner of dossier", :show
describe 'before_action authorized_routes?' do describe 'before_action authorized_routes?' do
context 'when dossier have draft state' do context 'when dossier have brouillon state' do
before do before do
dossier.state = 'draft' dossier.state = 'brouillon'
dossier.save dossier.save
get :show, params: {dossier_id: dossier.id} get :show, params: {dossier_id: dossier.id}
@ -41,12 +41,12 @@ describe Users::RecapitulatifController, type: :controller do
post :initiate, params: {dossier_id: dossier.id} post :initiate, params: {dossier_id: dossier.id}
end end
it 'dossier change his state for closed' do it 'dossier change his state for accepte' do
dossier.reload dossier.reload
expect(dossier.state).to eq('initiated') expect(dossier.state).to eq('en_construction')
end end
it 'a message informe user what his dossier is initiated' do it 'a message informe user what his dossier is en_construction' do
expect(flash[:notice]).to include('Dossier soumis avec succès.') expect(flash[:notice]).to include('Dossier soumis avec succès.')
end end
end end

View file

@ -22,33 +22,33 @@ describe DossierDecorator do
describe 'state_fr' do describe 'state_fr' do
subject{ super().display_state } subject{ super().display_state }
it 'draft is brouillon' do it 'brouillon is brouillon' do
dossier.draft! dossier.brouillon!
expect(subject).to eq('Brouillon') expect(subject).to eq('Brouillon')
end end
it 'initiated is initiate' do it 'en_construction is En construction' do
dossier.initiated! dossier.en_construction!
expect(subject).to eq('En construction') expect(subject).to eq('En construction')
end end
it 'closed is traité' do it 'accepte is traité' do
dossier.closed! dossier.accepte!
expect(subject).to eq('Accepté') expect(subject).to eq('Accepté')
end end
it 'received is reçu' do it 'en_instruction is reçu' do
dossier.received! dossier.en_instruction!
expect(subject).to eq('En instruction') expect(subject).to eq('En instruction')
end end
it 'without_continuation is traité' do it 'sans_suite is traité' do
dossier.without_continuation! dossier.sans_suite!
expect(subject).to eq('Sans suite') expect(subject).to eq('Sans suite')
end end
it 'refused is traité' do it 'refuse is traité' do
dossier.refused! dossier.refuse!
expect(subject).to eq('Refusé') expect(subject).to eq('Refusé')
end end
end end
@ -63,7 +63,7 @@ describe DossierDecorator do
context "when a gestionnaire is not signed_in" do context "when a gestionnaire is not signed_in" do
context "when the dossier is in brouillon state" do context "when the dossier is in brouillon state" do
before do before do
dossier.state = 'draft' dossier.state = 'brouillon'
dossier.save dossier.save
end end
@ -74,7 +74,7 @@ describe DossierDecorator do
context "when the dossier is not in brouillon state" do context "when the dossier is not in brouillon state" do
before do before do
dossier.state = 'initiated' dossier.state = 'en_construction'
dossier.save dossier.save
end end

View file

@ -3,10 +3,10 @@ require 'spec_helper'
describe AdminProceduresShowFacades do describe AdminProceduresShowFacades do
let!(:procedure) { create(:procedure) } let!(:procedure) { create(:procedure) }
let!(:dossier_0) { create(:dossier, procedure: procedure, state: 'draft') } let!(:dossier_0) { create(:dossier, procedure: procedure, state: 'brouillon') }
let!(:dossier_1) { create(:dossier, procedure: procedure, state: 'initiated') } let!(:dossier_1) { create(:dossier, procedure: procedure, state: 'en_construction') }
let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'initiated') } let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'en_construction') }
let!(:dossier_6) { create(:dossier, procedure: procedure, archived: true, state: 'initiated') } let!(:dossier_6) { create(:dossier, procedure: procedure, archived: true, state: 'en_construction') }
subject { AdminProceduresShowFacades.new procedure } subject { AdminProceduresShowFacades.new procedure }
@ -33,7 +33,7 @@ describe AdminProceduresShowFacades do
it { expect(subject.size).to eq(1) } it { expect(subject.size).to eq(1) }
it { expect(subject.first.state).to eq('initiated') } it { expect(subject.first.state).to eq('en_construction') }
it { expect(subject.first.total).to eq(1) } it { expect(subject.first.total).to eq(1) }
end end

View file

@ -1,6 +1,6 @@
FactoryGirl.define do FactoryGirl.define do
factory :dossier do factory :dossier do
state 'draft' state 'brouillon'
association :user, factory: [:user] association :user, factory: [:user]
before(:create) do |dossier, _evaluator| before(:create) do |dossier, _evaluator|
@ -72,18 +72,18 @@ FactoryGirl.define do
end end
end end
trait :initiated do trait :en_construction do
after(:create) do |dossier, _evaluator| after(:create) do |dossier, _evaluator|
dossier.state = 'initiated' dossier.state = 'en_construction'
dossier.initiated_at = dossier.created_at + 1.minute dossier.en_construction_at = dossier.created_at + 1.minute
dossier.save! dossier.save!
end end
end end
trait :received do trait :en_instruction do
after(:create) do |dossier, _evaluator| after(:create) do |dossier, _evaluator|
dossier.state = 'received' dossier.state = 'en_instruction'
dossier.initiated_at = dossier.created_at + 1.minute dossier.en_construction_at = dossier.created_at + 1.minute
dossier.created_at = dossier.created_at + 2.minute dossier.created_at = dossier.created_at + 2.minute
dossier.save! dossier.save!
end end

View file

@ -12,7 +12,7 @@ FactoryGirl.define do
type 'MailRefused' type 'MailRefused'
end end
trait :dossier_received do trait :dossier_en_instruction do
object "[TPS] Accusé de réception pour votre dossier nº --numero_dossier--" object "[TPS] Accusé de réception pour votre dossier nº --numero_dossier--"
body "Votre administration vous confirme la bonne réception de votre dossier nº --numero_dossier--" body "Votre administration vous confirme la bonne réception de votre dossier nº --numero_dossier--"
type 'MailReceived' type 'MailReceived'

View file

@ -2,7 +2,7 @@ require 'spec_helper'
feature 'add commentaire on backoffice' do feature 'add commentaire on backoffice' do
let(:procedure) { create(:procedure, :published) } let(:procedure) { create(:procedure, :published) }
let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let!(:commentaire) { create(:commentaire, dossier: dossier, email: 'toto@toto.com') } let!(:commentaire) { create(:commentaire, dossier: dossier, email: 'toto@toto.com') }
let(:email_commentaire) { 'test@test.com' } let(:email_commentaire) { 'test@test.com' }

View file

@ -3,7 +3,7 @@ require 'spec_helper'
feature 'backoffice: flux de commentaires' do feature 'backoffice: flux de commentaires' do
let(:procedure) { create(:procedure, :published) } let(:procedure) { create(:procedure, :published) }
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:champ1) { create(:champ, dossier: dossier, type_de_champ: create(:type_de_champ_public, libelle: "subtitle1")) } let(:champ1) { create(:champ, dossier: dossier, type_de_champ: create(:type_de_champ_public, libelle: "subtitle1")) }

View file

@ -10,10 +10,10 @@ feature 'As an Accompagnateur I can navigate and use each functionnality around
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_1 create :assign_to, gestionnaire: gestionnaire, procedure: procedure_1
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_2 create :assign_to, gestionnaire: gestionnaire, procedure: procedure_2
30.times do 30.times do
Dossier.create(procedure_id: procedure_1.id.to_s, user: user, state: 'initiated') Dossier.create(procedure_id: procedure_1.id.to_s, user: user, state: 'en_construction')
end end
22.times do 22.times do
Dossier.create(procedure_id: procedure_2.id.to_s, user: user, state: 'received') Dossier.create(procedure_id: procedure_2.id.to_s, user: user, state: 'en_instruction')
end end
login_as gestionnaire, scope: :gestionnaire login_as gestionnaire, scope: :gestionnaire
visit backoffice_path visit backoffice_path

View file

@ -6,7 +6,7 @@ feature 'usage of pref list dossier lateral panel', js: true do
let(:procedure) { create(:procedure, :published, administrateur: administrateur) } let(:procedure) { create(:procedure, :published, administrateur: administrateur) }
before do before do
create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction')
create :assign_to, procedure: procedure, gestionnaire: gestionnaire create :assign_to, procedure: procedure, gestionnaire: gestionnaire
login_as gestionnaire, scope: :gestionnaire login_as gestionnaire, scope: :gestionnaire

View file

@ -6,7 +6,7 @@ feature 'usage of pref list dossier lateral panel by procedure', js: true do
let(:procedure) { create(:procedure, :published, :with_type_de_champ, administrateur: administrateur) } let(:procedure) { create(:procedure, :published, :with_type_de_champ, administrateur: administrateur) }
before do before do
create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction')
create :assign_to, procedure: procedure, gestionnaire: gestionnaire create :assign_to, procedure: procedure, gestionnaire: gestionnaire
login_as gestionnaire, scope: :gestionnaire login_as gestionnaire, scope: :gestionnaire

View file

@ -6,8 +6,8 @@ feature 'on backoffice page', js: true do
let(:procedure) { create(:procedure, :published, administrateur: administrateur) } let(:procedure) { create(:procedure, :published, administrateur: administrateur) }
let(:procedure_individual) { create :procedure, :published, libelle: 'procedure individual', administrateur: administrateur, for_individual: true } let(:procedure_individual) { create :procedure, :published, libelle: 'procedure individual', administrateur: administrateur, for_individual: true }
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let!(:dossier_individual) { create :dossier, procedure: procedure_individual, state: 'initiated' } let!(:dossier_individual) { create :dossier, procedure: procedure_individual, state: 'en_construction' }
before do before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure create :assign_to, gestionnaire: gestionnaire, procedure: procedure
@ -34,7 +34,7 @@ feature 'on backoffice page', js: true do
end end
context "and goes to the page of a dossier he hasn't access to" do context "and goes to the page of a dossier he hasn't access to" do
let!(:unauthorized_dossier) { create(:dossier, :with_entreprise, state: 'initiated') } let!(:unauthorized_dossier) { create(:dossier, :with_entreprise, state: 'en_construction') }
before do before do
visit backoffice_dossier_path(unauthorized_dossier) visit backoffice_dossier_path(unauthorized_dossier)

View file

@ -39,8 +39,8 @@ feature 'search file on gestionnaire backoffice' do
end end
context 'when terms input does return result' do context 'when terms input does return result' do
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated') } let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'initiated') } let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'en_construction') }
let(:terms) { dossier.entreprise.raison_sociale } let(:terms) { dossier.entreprise.raison_sociale }

View file

@ -5,7 +5,7 @@ feature 'The gestionnaire part' do
let!(:gestionnaire) { create(:gestionnaire, password: password) } let!(:gestionnaire) { create(:gestionnaire, password: password) }
let!(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) } let!(:procedure) { create(:procedure, :published, gestionnaires: [gestionnaire]) }
let!(:dossier) { create(:dossier, state: :initiated, procedure: procedure) } let!(:dossier) { create(:dossier, state: :en_construction, procedure: procedure) }
scenario 'A gestionnaire can accept a dossier' do scenario 'A gestionnaire can accept a dossier' do
log_in(gestionnaire.email, password) log_in(gestionnaire.email, password)
@ -21,7 +21,7 @@ feature 'The gestionnaire part' do
click_on 'Passer en instruction' click_on 'Passer en instruction'
dossier.reload dossier.reload
expect(dossier.state).to eq('received') expect(dossier.state).to eq('en_instruction')
within('.accept.motivation') do within('.accept.motivation') do
fill_in('dossier_motivation', with: 'a good reason') fill_in('dossier_motivation', with: 'a good reason')
@ -29,7 +29,7 @@ feature 'The gestionnaire part' do
end end
dossier.reload dossier.reload
expect(dossier.state).to eq('closed') expect(dossier.state).to eq('accepte')
expect(dossier.motivation).to eq('a good reason') expect(dossier.motivation).to eq('a good reason')
end end

View file

@ -4,9 +4,9 @@ feature "procedure filters" do
let(:procedure) { create(:procedure, :published, :with_type_de_champ) } let(:procedure) { create(:procedure, :published, :with_type_de_champ) }
let(:gestionnaire) { create(:gestionnaire, procedures: [procedure]) } let(:gestionnaire) { create(:gestionnaire, procedures: [procedure]) }
let!(:type_de_champ) { procedure.types_de_champ.first } let!(:type_de_champ) { procedure.types_de_champ.first }
let!(:new_unfollow_dossier) { create(:dossier, procedure: procedure, state: "received") } let!(:new_unfollow_dossier) { create(:dossier, procedure: procedure, state: "en_instruction") }
let!(:champ) { Champ.find_by(type_de_champ_id: type_de_champ.id, dossier_id: new_unfollow_dossier.id) } let!(:champ) { Champ.find_by(type_de_champ_id: type_de_champ.id, dossier_id: new_unfollow_dossier.id) }
let!(:new_unfollow_dossier_2) { create(:dossier, procedure: procedure, state: "received") } let!(:new_unfollow_dossier_2) { create(:dossier, procedure: procedure, state: "en_instruction") }
before do before do
champ.update_attributes(value: "Mon champ rempli") champ.update_attributes(value: "Mon champ rempli")

View file

@ -3,7 +3,7 @@ require 'spec_helper'
feature 'As a User I want to edit a dossier I own' do feature 'As a User I want to edit a dossier I own' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:procedure_for_individual) { create(:procedure, :published, :for_individual, :with_type_de_champ, :with_two_type_de_piece_justificative, :with_dossier_link) } let(:procedure_for_individual) { create(:procedure, :published, :for_individual, :with_type_de_champ, :with_two_type_de_piece_justificative, :with_dossier_link) }
let!(:dossier) { create(:dossier, :with_entreprise, :for_individual, :with_dossier_link, procedure: procedure_for_individual, user: user, autorisation_donnees: true, state: 'initiated') } let!(:dossier) { create(:dossier, :with_entreprise, :for_individual, :with_dossier_link, procedure: procedure_for_individual, user: user, autorisation_donnees: true, state: 'en_construction') }
before "Create dossier and visit root path" do before "Create dossier and visit root path" do
login_as user, scope: :user login_as user, scope: :user

View file

@ -14,7 +14,7 @@ feature 'As a User I want to sort and paginate dossiers', js: true do
page.find_by_id('etape_suivante').trigger('click') page.find_by_id('etape_suivante').trigger('click')
page.find_by_id('suivant').trigger('click') page.find_by_id('suivant').trigger('click')
50.times do 50.times do
Dossier.create(procedure_id: procedure_for_individual.id, user_id: user.id, state: "initiated") Dossier.create(procedure_id: procedure_for_individual.id, user_id: user.id, state: "en_construction")
end end
visit root_path visit root_path
end end

View file

@ -2,7 +2,7 @@ require 'spec_helper'
feature 'users: flux de commentaires' do feature 'users: flux de commentaires' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:dossier) { create(:dossier, :with_entreprise, user: user, state: "initiated") } let(:dossier) { create(:dossier, :with_entreprise, user: user, state: "en_construction") }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:champ1) { dossier.champs.first } let(:champ1) { dossier.champs.first }

View file

@ -2,10 +2,10 @@ require 'spec_helper'
describe 'user access to the list of his dossier' do describe 'user access to the list of his dossier' do
let(:user) { create(:user) } let(:user) { create(:user) }
let!(:last_updated_dossier) { create(:dossier, :with_entreprise, user: user, state: 'initiated')} let!(:last_updated_dossier) { create(:dossier, :with_entreprise, user: user, state: 'en_construction')}
let!(:dossier1) { create(:dossier, :with_entreprise, user: user, state: 'initiated') } let!(:dossier1) { create(:dossier, :with_entreprise, user: user, state: 'en_construction') }
let!(:dossier2) { create(:dossier, :with_entreprise) } let!(:dossier2) { create(:dossier, :with_entreprise) }
let!(:dossier_archived) { create(:dossier, :with_entreprise, user: user, state: 'initiated') } let!(:dossier_archived) { create(:dossier, :with_entreprise, user: user, state: 'en_construction') }
before do before do
last_updated_dossier.update_column(:updated_at, "19/07/2052 15:35".to_time) last_updated_dossier.update_column(:updated_at, "19/07/2052 15:35".to_time)

View file

@ -3,14 +3,14 @@ require 'spec_helper'
feature 'on click on tabs button' do feature 'on click on tabs button' do
let(:user) { create :user } let(:user) { create :user }
let(:dossier_invite) { create(:dossier, :with_entreprise, user: create(:user), state: 'initiated') } let(:dossier_invite) { create(:dossier, :with_entreprise, user: create(:user), state: 'en_construction') }
before do before do
create(:dossier, :with_entreprise, user: user, state: 'initiated') create(:dossier, :with_entreprise, user: user, state: 'en_construction')
create(:dossier, :with_entreprise, user: user, state: 'received') create(:dossier, :with_entreprise, user: user, state: 'en_instruction')
create(:dossier, :with_entreprise, user: user, state: 'closed') create(:dossier, :with_entreprise, user: user, state: 'accepte')
create(:dossier, :with_entreprise, user: user, state: 'refused') create(:dossier, :with_entreprise, user: user, state: 'refuse')
create(:dossier, :with_entreprise, user: user, state: 'without_continuation') create(:dossier, :with_entreprise, user: user, state: 'sans_suite')
create :invite, dossier: dossier_invite, user: user create :invite, dossier: dossier_invite, user: user

View file

@ -18,15 +18,15 @@ RSpec.describe AutoArchiveProcedureJob, type: :job do
end end
context "when procedures have auto_archive_on set on yesterday or today" do context "when procedures have auto_archive_on set on yesterday or today" do
let!(:dossier1) { create(:dossier, procedure: procedure_hier, state: 'draft', archived: false)} let!(:dossier1) { create(:dossier, procedure: procedure_hier, state: 'brouillon', archived: false)}
let!(:dossier2) { create(:dossier, procedure: procedure_hier, state: 'initiated', archived: false)} let!(:dossier2) { create(:dossier, procedure: procedure_hier, state: 'en_construction', archived: false)}
let!(:dossier3) { create(:dossier, procedure: procedure_hier, state: 'initiated', archived: false)} let!(:dossier3) { create(:dossier, procedure: procedure_hier, state: 'en_construction', archived: false)}
let!(:dossier4) { create(:dossier, procedure: procedure_hier, state: 'initiated', archived: false)} let!(:dossier4) { create(:dossier, procedure: procedure_hier, state: 'en_construction', archived: false)}
let!(:dossier5) { create(:dossier, procedure: procedure_hier, state: 'received', archived: false)} let!(:dossier5) { create(:dossier, procedure: procedure_hier, state: 'en_instruction', archived: false)}
let!(:dossier6) { create(:dossier, procedure: procedure_hier, state: 'closed', archived: false)} let!(:dossier6) { create(:dossier, procedure: procedure_hier, state: 'accepte', archived: false)}
let!(:dossier7) { create(:dossier, procedure: procedure_hier, state: 'refused', archived: false)} let!(:dossier7) { create(:dossier, procedure: procedure_hier, state: 'refuse', archived: false)}
let!(:dossier8) { create(:dossier, procedure: procedure_hier, state: 'without_continuation', archived: false)} let!(:dossier8) { create(:dossier, procedure: procedure_hier, state: 'sans_suite', archived: false)}
let!(:dossier9) { create(:dossier, procedure: procedure_aujourdhui, state: 'initiated', archived: false)} let!(:dossier9) { create(:dossier, procedure: procedure_aujourdhui, state: 'en_construction', archived: false)}
before do before do
subject subject
@ -39,15 +39,15 @@ RSpec.describe AutoArchiveProcedureJob, type: :job do
procedure_aujourdhui.reload procedure_aujourdhui.reload
end end
it { expect(dossier1.state).to eq 'draft' } it { expect(dossier1.state).to eq 'brouillon' }
it { expect(dossier2.state).to eq 'received' } it { expect(dossier2.state).to eq 'en_instruction' }
it { expect(dossier3.state).to eq 'received' } it { expect(dossier3.state).to eq 'en_instruction' }
it { expect(dossier4.state).to eq 'received' } it { expect(dossier4.state).to eq 'en_instruction' }
it { expect(dossier5.state).to eq 'received' } it { expect(dossier5.state).to eq 'en_instruction' }
it { expect(dossier6.state).to eq 'closed' } it { expect(dossier6.state).to eq 'accepte' }
it { expect(dossier7.state).to eq 'refused' } it { expect(dossier7.state).to eq 'refuse' }
it { expect(dossier8.state).to eq 'without_continuation' } it { expect(dossier8.state).to eq 'sans_suite' }
it { expect(dossier9.state).to eq 'received' } it { expect(dossier9.state).to eq 'en_instruction' }
it { expect(procedure_hier.archivee?).to eq true } it { expect(procedure_hier.archivee?).to eq true }
it { expect(procedure_aujourdhui.archivee?).to eq true } it { expect(procedure_aujourdhui.archivee?).to eq true }

View file

@ -7,28 +7,28 @@ RSpec.describe AutoReceiveDossiersForProcedureJob, type: :job do
before { Timecop.freeze(date) } before { Timecop.freeze(date) }
after { Timecop.return } after { Timecop.return }
subject { AutoReceiveDossiersForProcedureJob.new.perform(procedure_id, 'received') } subject { AutoReceiveDossiersForProcedureJob.new.perform(procedure_id, 'en_instruction') }
context "with some dossiers" do context "with some dossiers" do
let(:nouveau_dossier1) { create(:dossier, :initiated) } let(:nouveau_dossier1) { create(:dossier, :en_construction) }
let(:nouveau_dossier2) { create(:dossier, :initiated, procedure: nouveau_dossier1.procedure) } let(:nouveau_dossier2) { create(:dossier, :en_construction, procedure: nouveau_dossier1.procedure) }
let(:dossier_recu) { create(:dossier, :received, procedure: nouveau_dossier2.procedure) } let(:dossier_recu) { create(:dossier, :en_instruction, procedure: nouveau_dossier2.procedure) }
let(:dossier_draft) { create(:dossier, procedure: dossier_recu.procedure) } let(:dossier_brouillon) { create(:dossier, procedure: dossier_recu.procedure) }
let(:procedure_id) { dossier_draft.procedure_id } let(:procedure_id) { dossier_brouillon.procedure_id }
it do it do
subject subject
expect(nouveau_dossier1.reload.received?).to be true expect(nouveau_dossier1.reload.en_instruction?).to be true
expect(nouveau_dossier1.reload.received_at).to eq(date) expect(nouveau_dossier1.reload.en_instruction_at).to eq(date)
expect(nouveau_dossier2.reload.received?).to be true expect(nouveau_dossier2.reload.en_instruction?).to be true
expect(nouveau_dossier2.reload.received_at).to eq(date) expect(nouveau_dossier2.reload.en_instruction_at).to eq(date)
expect(dossier_recu.reload.received?).to be true expect(dossier_recu.reload.en_instruction?).to be true
expect(dossier_recu.reload.received_at).to eq(date) expect(dossier_recu.reload.en_instruction_at).to eq(date)
expect(dossier_draft.reload.draft?).to be true expect(dossier_brouillon.reload.brouillon?).to be true
expect(dossier_draft.reload.received_at).to eq(nil) expect(dossier_brouillon.reload.en_instruction_at).to eq(nil)
end end
end end
end end

View file

@ -112,7 +112,7 @@ describe Dossier do
it 'does not create default champs' do it 'does not create default champs' do
expect(subject).not_to receive(:build_default_champs) expect(subject).not_to receive(:build_default_champs)
subject.update_attributes(state: 'initiated') subject.update_attributes(state: 'en_construction')
end end
end end
end end
@ -134,9 +134,9 @@ describe Dossier do
it { expect { subject }.to raise_error('role is not valid') } it { expect { subject }.to raise_error('role is not valid') }
end end
context 'when dossier is at state draft' do context 'when dossier is at state brouillon' do
before do before do
dossier.draft! dossier.brouillon!
end end
context 'when user is connected' do context 'when user is connected' do
@ -145,26 +145,26 @@ describe Dossier do
context 'when he updates dossier informations' do context 'when he updates dossier informations' do
let(:action) { 'update' } let(:action) { 'update' }
it { is_expected.to eq('draft') } it { is_expected.to eq('brouillon') }
end end
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('draft') } it { is_expected.to eq('brouillon') }
end end
context 'when he initiate a dossier' do context 'when he initiate a dossier' do
let(:action) { 'initiate' } let(:action) { 'initiate' }
it { is_expected.to eq('initiated') } it { is_expected.to eq('en_construction') }
end end
end end
end end
context 'when dossier is at state initiated' do context 'when dossier is at state en_construction' do
before do before do
dossier.initiated! dossier.en_construction!
end end
context 'when user is connect' do context 'when user is connect' do
@ -173,13 +173,13 @@ describe Dossier do
context 'when is update dossier informations' do context 'when is update dossier informations' do
let(:action) { 'update' } let(:action) { 'update' }
it { is_expected.to eq('initiated') } it { is_expected.to eq('en_construction') }
end end
context 'when is post a comment' do context 'when is post a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('initiated') } it { is_expected.to eq('en_construction') }
end end
end end
@ -189,20 +189,20 @@ describe Dossier do
context 'when is post a comment' do context 'when is post a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('initiated') } it { is_expected.to eq('en_construction') }
end end
context 'when is follow' do context 'when is follow' do
let(:action) { 'follow' } let(:action) { 'follow' }
it { is_expected.to eq 'initiated' } it { is_expected.to eq 'en_construction' }
end end
end end
end end
context 'when dossier is at state received' do context 'when dossier is at state en_instruction' do
before do before do
dossier.received! dossier.en_instruction!
end end
context 'when user is connected' do context 'when user is connected' do
@ -211,7 +211,7 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('received') } it { is_expected.to eq('en_instruction') }
end end
end end
@ -221,20 +221,20 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('received') } it { is_expected.to eq('en_instruction') }
end end
context 'when he closes the dossier' do context 'when he closes the dossier' do
let(:action) { 'close' } let(:action) { 'close' }
it { is_expected.to eq('closed') } it { is_expected.to eq('accepte') }
end end
end end
end end
context 'when dossier is at state refused' do context 'when dossier is at state refuse' do
before do before do
dossier.refused! dossier.refuse!
end end
context 'when user is connected' do context 'when user is connected' do
@ -243,7 +243,7 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('refused') } it { is_expected.to eq('refuse') }
end end
end end
@ -253,14 +253,14 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('refused') } it { is_expected.to eq('refuse') }
end end
end end
end end
context 'when dossier is at state without_continuation' do context 'when dossier is at state sans_suite' do
before do before do
dossier.without_continuation! dossier.sans_suite!
end end
context 'when user is connected' do context 'when user is connected' do
@ -269,7 +269,7 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('without_continuation') } it { is_expected.to eq('sans_suite') }
end end
end end
@ -279,14 +279,14 @@ describe Dossier do
context 'when he posts a comment' do context 'when he posts a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('without_continuation') } it { is_expected.to eq('sans_suite') }
end end
end end
end end
context 'when dossier is at state closed' do context 'when dossier is at state accepte' do
before do before do
dossier.closed! dossier.accepte!
end end
context 'when user is connect' do context 'when user is connect' do
@ -295,7 +295,7 @@ describe Dossier do
context 'when is post a comment' do context 'when is post a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('closed') } it { is_expected.to eq('accepte') }
end end
end end
@ -305,7 +305,7 @@ describe Dossier do
context 'when is post a comment' do context 'when is post a comment' do
let(:action) { 'comment' } let(:action) { 'comment' }
it { is_expected.to eq('closed') } it { is_expected.to eq('accepte') }
end end
end end
end end
@ -394,7 +394,7 @@ describe Dossier do
let(:date1) { 1.day.ago } let(:date1) { 1.day.ago }
let(:date2) { 1.hour.ago } let(:date2) { 1.hour.ago }
let(:date3) { 1.minute.ago } let(:date3) { 1.minute.ago }
let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure, initiated_at: date1, received_at: date2, processed_at: date3, motivation: "Motivation") } let(:dossier) { create(:dossier, :with_entreprise, user: user, procedure: procedure, en_construction_at: date1, en_instruction_at: date2, processed_at: date3, motivation: "Motivation") }
let!(:follow) { create(:follow, gestionnaire: gestionnaire, dossier: dossier) } let!(:follow) { create(:follow, gestionnaire: gestionnaire, dossier: dossier) }
describe '#export_headers' do describe '#export_headers' do
@ -421,7 +421,7 @@ describe Dossier do
it { expect(subject[3]).to be_in([true, false]) } it { expect(subject[3]).to be_in([true, false]) }
it { expect(subject[4]).to eq(dossier.user.email) } it { expect(subject[4]).to eq(dossier.user.email) }
it { expect(subject[5]).to be_in([true, false]) } it { expect(subject[5]).to be_in([true, false]) }
it { expect(subject[6]).to eq("draft") } it { expect(subject[6]).to eq("brouillon") }
it { expect(subject[7]).to eq(date1) } it { expect(subject[7]).to eq(date1) }
it { expect(subject[8]).to eq(date2) } it { expect(subject[8]).to eq(date2) }
it { expect(subject[9]).to eq(date3) } it { expect(subject[9]).to eq(date3) }
@ -459,9 +459,9 @@ describe Dossier do
"false", "false",
dossier.user.email, dossier.user.email,
"false", "false",
"draft", "brouillon",
dossier.initiated_at, dossier.en_construction_at,
dossier.received_at, dossier.en_instruction_at,
dossier.processed_at, dossier.processed_at,
"Motivation", "Motivation",
gestionnaire.email, gestionnaire.email,
@ -615,16 +615,16 @@ describe Dossier do
describe "#text_summary" do describe "#text_summary" do
let(:procedure) { create(:procedure, libelle: "Procédure", organisation: "Organisme") } let(:procedure) { create(:procedure, libelle: "Procédure", organisation: "Organisme") }
context 'when the dossier has been initiated' do context 'when the dossier has been en_construction' do
let(:dossier) { create :dossier, procedure: procedure, state: 'initiated', initiated_at: "31/12/2010".to_date } let(:dossier) { create :dossier, procedure: procedure, state: 'en_construction', en_construction_at: "31/12/2010".to_date }
subject { dossier.text_summary } subject { dossier.text_summary }
it { is_expected.to eq("Dossier déposé le 31/12/2010 sur la procédure Procédure gérée par l'organisme Organisme") } it { is_expected.to eq("Dossier déposé le 31/12/2010 sur la procédure Procédure gérée par l'organisme Organisme") }
end end
context 'when the dossier has not been initiated' do context 'when the dossier has not been en_construction' do
let(:dossier) { create :dossier, procedure: procedure, state: 'draft' } let(:dossier) { create :dossier, procedure: procedure, state: 'brouillon' }
subject { dossier.text_summary } subject { dossier.text_summary }
@ -634,7 +634,7 @@ describe Dossier do
describe '#avis_for' do describe '#avis_for' do
let!(:procedure) { create(:procedure, :published) } let!(:procedure) { create(:procedure, :published) }
let!(:dossier) { create(:dossier, procedure: procedure, state: :initiated) } let!(:dossier) { create(:dossier, procedure: procedure, state: :en_construction) }
let!(:gestionnaire) { create(:gestionnaire, procedures: [procedure]) } let!(:gestionnaire) { create(:gestionnaire, procedures: [procedure]) }
let!(:expert_1) { create(:gestionnaire) } let!(:expert_1) { create(:gestionnaire) }
@ -683,7 +683,7 @@ describe Dossier do
end end
describe '#update_state_dates' do describe '#update_state_dates' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
let(:dossier) { create(:dossier, state: state) } let(:dossier) { create(:dossier, state: state) }
let(:beginning_of_day) { Time.now.beginning_of_day } let(:beginning_of_day) { Time.now.beginning_of_day }
@ -691,41 +691,41 @@ describe Dossier do
Timecop.freeze(beginning_of_day) Timecop.freeze(beginning_of_day)
end end
context 'when dossier is initiated' do context 'when dossier is en_construction' do
before do before do
dossier.initiated! dossier.en_construction!
dossier.reload dossier.reload
end end
it { expect(dossier.state).to eq('initiated') } it { expect(dossier.state).to eq('en_construction') }
it { expect(dossier.initiated_at).to eq(beginning_of_day) } it { expect(dossier.en_construction_at).to eq(beginning_of_day) }
it 'should keep first initiated_at date' do it 'should keep first en_construction_at date' do
Timecop.return Timecop.return
dossier.received! dossier.en_instruction!
dossier.initiated! dossier.en_construction!
expect(dossier.initiated_at).to eq(beginning_of_day) expect(dossier.en_construction_at).to eq(beginning_of_day)
end end
end end
context 'when dossier is received' do context 'when dossier is en_instruction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
before do before do
dossier.received! dossier.en_instruction!
dossier.reload dossier.reload
end end
it { expect(dossier.state).to eq('received') } it { expect(dossier.state).to eq('en_instruction') }
it { expect(dossier.received_at).to eq(beginning_of_day) } it { expect(dossier.en_instruction_at).to eq(beginning_of_day) }
it 'should keep first received_at date if dossier is set to initiated again' do it 'should keep first en_instruction_at date if dossier is set to en_construction again' do
Timecop.return Timecop.return
dossier.initiated! dossier.en_construction!
dossier.received! dossier.en_instruction!
expect(dossier.received_at).to eq(beginning_of_day) expect(dossier.en_instruction_at).to eq(beginning_of_day)
end end
end end
@ -739,31 +739,31 @@ describe Dossier do
it { expect(dossier.processed_at).to eq(beginning_of_day) } it { expect(dossier.processed_at).to eq(beginning_of_day) }
end end
context 'when dossier is closed' do context 'when dossier is accepte' do
let(:state) { 'received' } let(:state) { 'en_instruction' }
it_behaves_like 'dossier is processed', 'closed' it_behaves_like 'dossier is processed', 'accepte'
end end
context 'when dossier is refused' do context 'when dossier is refuse' do
let(:state) { 'received' } let(:state) { 'en_instruction' }
it_behaves_like 'dossier is processed', 'refused' it_behaves_like 'dossier is processed', 'refuse'
end end
context 'when dossier is without_continuation' do context 'when dossier is sans_suite' do
let(:state) { 'received' } let(:state) { 'en_instruction' }
it_behaves_like 'dossier is processed', 'without_continuation' it_behaves_like 'dossier is processed', 'sans_suite'
end end
end end
describe '.downloadable_sorted' do describe '.downloadable_sorted' do
let(:procedure) { create(:procedure) } let(:procedure) { create(:procedure) }
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: :draft) } let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: :brouillon) }
let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: :initiated, initiated_at: DateTime.parse('03/01/2010')) } let!(:dossier2) { create(:dossier, :with_entreprise, procedure: procedure, state: :en_construction, en_construction_at: DateTime.parse('03/01/2010')) }
let!(:dossier3) { create(:dossier, :with_entreprise, procedure: procedure, state: :received, initiated_at: DateTime.parse('01/01/2010')) } let!(:dossier3) { create(:dossier, :with_entreprise, procedure: procedure, state: :en_instruction, en_construction_at: DateTime.parse('01/01/2010')) }
let!(:dossier4) { create(:dossier, :with_entreprise, procedure: procedure, state: :received, archived: true, initiated_at: DateTime.parse('02/01/2010')) } let!(:dossier4) { create(:dossier, :with_entreprise, procedure: procedure, state: :en_instruction, archived: true, en_construction_at: DateTime.parse('02/01/2010')) }
subject { procedure.dossiers.downloadable_sorted } subject { procedure.dossiers.downloadable_sorted }
@ -772,19 +772,19 @@ describe Dossier do
describe "#send_dossier_received" do describe "#send_dossier_received" do
let(:procedure) { create(:procedure) } let(:procedure) { create(:procedure) }
let(:dossier) { create(:dossier, procedure: procedure, state: :initiated) } let(:dossier) { create(:dossier, procedure: procedure, state: :en_construction) }
before do before do
allow(NotificationMailer).to receive(:send_dossier_received).and_return(double(deliver_later: nil)) allow(NotificationMailer).to receive(:send_dossier_received).and_return(double(deliver_later: nil))
end end
it "sends an email when the dossier becomes received" do it "sends an email when the dossier becomes en_instruction" do
dossier.received! dossier.en_instruction!
expect(NotificationMailer).to have_received(:send_dossier_received).with(dossier.id) expect(NotificationMailer).to have_received(:send_dossier_received).with(dossier.id)
end end
it "does not an email when the dossier becomes closed" do it "does not an email when the dossier becomes accepte" do
dossier.closed! dossier.accepte!
expect(NotificationMailer).to_not have_received(:send_dossier_received) expect(NotificationMailer).to_not have_received(:send_dossier_received)
end end
end end
@ -798,18 +798,18 @@ describe Dossier do
end end
it "send an email when the dossier is created for the very first time" do it "send an email when the dossier is created for the very first time" do
expect { Dossier.create(procedure: procedure, state: "draft", user: user) }.to change(ActionMailer::Base.deliveries, :size).from(0).to(1) expect { Dossier.create(procedure: procedure, state: "brouillon", user: user) }.to change(ActionMailer::Base.deliveries, :size).from(0).to(1)
mail = ActionMailer::Base.deliveries.last mail = ActionMailer::Base.deliveries.last
expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche : #{procedure.libelle}") expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche : #{procedure.libelle}")
end end
it "does not send an email when the dossier is created with a non draft state" do it "does not send an email when the dossier is created with a non brouillon state" do
expect { Dossier.create(procedure: procedure, state: "initiated", user: user) }.not_to change(ActionMailer::Base.deliveries, :size) expect { Dossier.create(procedure: procedure, state: "en_construction", user: user) }.not_to change(ActionMailer::Base.deliveries, :size)
expect { Dossier.create(procedure: procedure, state: "received", user: user) }.not_to change(ActionMailer::Base.deliveries, :size) expect { Dossier.create(procedure: procedure, state: "en_instruction", user: user) }.not_to change(ActionMailer::Base.deliveries, :size)
expect { Dossier.create(procedure: procedure, state: "closed", user: user) }.not_to change(ActionMailer::Base.deliveries, :size) expect { Dossier.create(procedure: procedure, state: "accepte", user: user) }.not_to change(ActionMailer::Base.deliveries, :size)
expect { Dossier.create(procedure: procedure, state: "refused", user: user) }.not_to change(ActionMailer::Base.deliveries, :size) expect { Dossier.create(procedure: procedure, state: "refuse", user: user) }.not_to change(ActionMailer::Base.deliveries, :size)
expect { Dossier.create(procedure: procedure, state: "without_continuation", user: user) }.not_to change(ActionMailer::Base.deliveries, :size) expect { Dossier.create(procedure: procedure, state: "sans_suite", user: user) }.not_to change(ActionMailer::Base.deliveries, :size)
end end
end end
@ -822,8 +822,8 @@ describe Dossier do
dossier.reload dossier.reload
end end
context 'when the dossier is in received state ' do context 'when the dossier is in en_instruction state ' do
let!(:dossier) { create(:dossier, procedure: procedure, state: :received) } let!(:dossier) { create(:dossier, procedure: procedure, state: :en_instruction) }
context 'when the procedure has no attestation' do context 'when the procedure has no attestation' do
it { expect(dossier.attestation).to be_nil } it { expect(dossier.attestation).to be_nil }

View file

@ -169,7 +169,7 @@ describe Gestionnaire, type: :model do
end end
context 'when gestionnaire follow a dossier with a notification into the procedure past in params' do context 'when gestionnaire follow a dossier with a notification into the procedure past in params' do
let(:dossier) { create(:dossier, procedure: procedure, state: 'initiated') } let(:dossier) { create(:dossier, procedure: procedure, state: 'en_construction') }
before do before do
create :follow, gestionnaire: gestionnaire, dossier: dossier create :follow, gestionnaire: gestionnaire, dossier: dossier
@ -268,7 +268,7 @@ describe Gestionnaire, type: :model do
end end
context 'with a followed dossier' do context 'with a followed dossier' do
let!(:dossier){create(:dossier, procedure: procedure, state: 'received')} let!(:dossier){create(:dossier, procedure: procedure, state: 'en_instruction')}
let!(:follow){ create(:follow, dossier: dossier, gestionnaire: gestionnaire) } let!(:follow){ create(:follow, dossier: dossier, gestionnaire: gestionnaire) }
context 'with 1 notification' do context 'with 1 notification' do
@ -291,7 +291,7 @@ describe Gestionnaire, type: :model do
end end
context 'with another dossier' do context 'with another dossier' do
let!(:dossier2){create(:dossier, procedure: procedure, state: 'received')} let!(:dossier2){create(:dossier, procedure: procedure, state: 'en_instruction')}
let!(:follow2){ create(:follow, dossier: dossier2, gestionnaire: gestionnaire) } let!(:follow2){ create(:follow, dossier: dossier2, gestionnaire: gestionnaire) }
context 'and some notifications' do context 'and some notifications' do
@ -351,7 +351,7 @@ describe Gestionnaire, type: :model do
subject{ gestionnaire.can_view_dossier?(dossier.id) } subject{ gestionnaire.can_view_dossier?(dossier.id) }
context 'when gestionnaire is assigned on dossier' do context 'when gestionnaire is assigned on dossier' do
let!(:dossier){ create(:dossier, procedure: procedure, state: 'received') } let!(:dossier){ create(:dossier, procedure: procedure, state: 'en_instruction') }
it { expect(subject).to be true } it { expect(subject).to be true }
end end
@ -405,7 +405,7 @@ describe Gestionnaire, type: :model do
end end
describe '#notifications_for_dossier' do describe '#notifications_for_dossier' do
let!(:dossier) { create(:dossier, :followed, state: 'initiated') } let!(:dossier) { create(:dossier, :followed, state: 'en_construction') }
let(:gestionnaire) { dossier.follows.first.gestionnaire } let(:gestionnaire) { dossier.follows.first.gestionnaire }
subject { gestionnaire.notifications_for_dossier(dossier) } subject { gestionnaire.notifications_for_dossier(dossier) }
@ -454,12 +454,12 @@ describe Gestionnaire, type: :model do
end end
describe '#notification_for_procedure' do describe '#notification_for_procedure' do
let!(:dossier) { create(:dossier, :followed, state: 'initiated') } let!(:dossier) { create(:dossier, :followed, state: 'en_construction') }
let(:gestionnaire) { dossier.follows.first.gestionnaire } let(:gestionnaire) { dossier.follows.first.gestionnaire }
let(:procedure) { dossier.procedure } let(:procedure) { dossier.procedure }
let!(:gestionnaire_2) { create(:gestionnaire, procedures: [procedure]) } let!(:gestionnaire_2) { create(:gestionnaire, procedures: [procedure]) }
let!(:dossier_on_procedure_2) { create(:dossier, :followed, state: 'initiated') } let!(:dossier_on_procedure_2) { create(:dossier, :followed, state: 'en_construction') }
let!(:gestionnaire_on_procedure_2) { dossier_on_procedure_2.follows.first.gestionnaire } let!(:gestionnaire_on_procedure_2) { dossier_on_procedure_2.follows.first.gestionnaire }
before do before do
@ -535,7 +535,7 @@ describe Gestionnaire, type: :model do
end end
describe '#notifications_per_procedure' do describe '#notifications_per_procedure' do
let!(:dossier) { create(:dossier, :followed, state: 'initiated') } let!(:dossier) { create(:dossier, :followed, state: 'en_construction') }
let(:gestionnaire) { dossier.follows.first.gestionnaire } let(:gestionnaire) { dossier.follows.first.gestionnaire }
let(:procedure) { dossier.procedure } let(:procedure) { dossier.procedure }
@ -549,7 +549,7 @@ describe Gestionnaire, type: :model do
end end
describe '#mark_tab_as_seen' do describe '#mark_tab_as_seen' do
let!(:dossier) { create(:dossier, :followed, state: 'initiated') } let!(:dossier) { create(:dossier, :followed, state: 'en_construction') }
let(:gestionnaire) { dossier.follows.first.gestionnaire } let(:gestionnaire) { dossier.follows.first.gestionnaire }
let(:freeze_date) { DateTime.parse('12/12/2012') } let(:freeze_date) { DateTime.parse('12/12/2012') }

View file

@ -12,7 +12,7 @@ describe ProcedureOverview, type: :model do
describe 'dossiers_en_instruction_count' do describe 'dossiers_en_instruction_count' do
let!(:en_instruction_dossier) do let!(:en_instruction_dossier) do
create(:dossier, procedure: procedure, state: :received, created_at: monday) create(:dossier, procedure: procedure, state: :en_instruction, created_at: monday)
end end
it { expect(procedure_overview.dossiers_en_instruction_count).to eq(1) } it { expect(procedure_overview.dossiers_en_instruction_count).to eq(1) }
@ -20,11 +20,11 @@ describe ProcedureOverview, type: :model do
describe 'old_dossiers_en_instruction' do describe 'old_dossiers_en_instruction' do
let!(:old_dossier_en_instruction) do let!(:old_dossier_en_instruction) do
create(:dossier, procedure: procedure, state: :received, received_at: monday - 1.month) create(:dossier, procedure: procedure, state: :en_instruction, en_instruction_at: monday - 1.month)
end end
let!(:dossier_en_instruction) do let!(:dossier_en_instruction) do
create(:dossier, procedure: procedure, state: :received, received_at: monday) create(:dossier, procedure: procedure, state: :en_instruction, en_instruction_at: monday)
end end
it do it do
@ -34,7 +34,7 @@ describe ProcedureOverview, type: :model do
describe 'dossiers_en_construction_count' do describe 'dossiers_en_construction_count' do
let!(:dossier_en_construction) do let!(:dossier_en_construction) do
create(:dossier, procedure: procedure, state: :initiated, created_at: monday) create(:dossier, procedure: procedure, state: :en_construction, created_at: monday)
end end
it { expect(procedure_overview.dossiers_en_construction_count).to eq(1) } it { expect(procedure_overview.dossiers_en_construction_count).to eq(1) }
@ -42,15 +42,15 @@ describe ProcedureOverview, type: :model do
describe 'created_dossiers_count' do describe 'created_dossiers_count' do
let!(:created_dossier_during_the_week) do let!(:created_dossier_during_the_week) do
create(:dossier, procedure: procedure, created_at: monday, state: :received) create(:dossier, procedure: procedure, created_at: monday, state: :en_instruction)
end end
let!(:created_dossier_during_the_week_but_in_draft) do let!(:created_dossier_during_the_week_but_in_brouillon) do
create(:dossier, procedure: procedure, created_at: monday, state: :draft) create(:dossier, procedure: procedure, created_at: monday, state: :brouillon)
end end
let!(:created_dossier_before_the_week) do let!(:created_dossier_before_the_week) do
create(:dossier, procedure: procedure, created_at: (monday - 1.week), state: :received) create(:dossier, procedure: procedure, created_at: (monday - 1.week), state: :en_instruction)
end end
it { expect(procedure_overview.created_dossiers_count).to eq(1) } it { expect(procedure_overview.created_dossiers_count).to eq(1) }

View file

@ -307,9 +307,9 @@ describe Procedure do
let(:procedure) { create :procedure } let(:procedure) { create :procedure }
before do before do
create :dossier, procedure: procedure, state: :initiated create :dossier, procedure: procedure, state: :en_construction
create :dossier, procedure: procedure, state: :draft create :dossier, procedure: procedure, state: :brouillon
create :dossier, procedure: procedure, state: :initiated create :dossier, procedure: procedure, state: :en_construction
end end
subject { procedure.total_dossier } subject { procedure.total_dossier }
@ -331,8 +331,8 @@ describe Procedure do
end end
context 'when there are some dossiers' do context 'when there are some dossiers' do
let!(:dossier){ create(:dossier, procedure: procedure, state: 'initiated') } let!(:dossier){ create(:dossier, procedure: procedure, state: 'en_construction') }
let!(:dossier2){ create(:dossier, procedure: procedure, state: 'closed') } let!(:dossier2){ create(:dossier, procedure: procedure, state: 'accepte') }
it { expect(subject[:data].size).to eq(2) } it { expect(subject[:data].size).to eq(2) }
it { expect(subject[:headers]).to eq(dossier.export_headers) } it { expect(subject[:headers]).to eq(dossier.export_headers) }
@ -371,8 +371,8 @@ describe Procedure do
end end
end end
context 'when there is a draft dossier' do context 'when there is a brouillon dossier' do
let!(:dossier_not_exportable){ create(:dossier, procedure: procedure, state: 'draft') } let!(:dossier_not_exportable){ create(:dossier, procedure: procedure, state: 'brouillon') }
it_behaves_like "export is empty" it_behaves_like "export is empty"
end end

View file

@ -22,11 +22,11 @@ describe Search do
let(:procedure_1) { create(:procedure, :published, administrateur: administrateur_1) } let(:procedure_1) { create(:procedure, :published, administrateur: administrateur_1) }
let(:procedure_2) { create(:procedure, :published, administrateur: administrateur_2) } let(:procedure_2) { create(:procedure, :published, administrateur: administrateur_2) }
let!(:dossier_0) { create(:dossier, state: 'draft', procedure: procedure_1, user: create(:user, email: 'brouillon@clap.fr')) } let!(:dossier_0) { create(:dossier, state: 'brouillon', procedure: procedure_1, user: create(:user, email: 'brouillon@clap.fr')) }
let!(:dossier_1) { create(:dossier, state: 'initiated', procedure: procedure_1, user: create(:user, email: 'contact@test.com')) } let!(:dossier_1) { create(:dossier, state: 'en_construction', procedure: procedure_1, user: create(:user, email: 'contact@test.com')) }
let!(:dossier_2) { create(:dossier, state: 'initiated', procedure: procedure_1, user: create(:user, email: 'plop@gmail.com')) } let!(:dossier_2) { create(:dossier, state: 'en_construction', procedure: procedure_1, user: create(:user, email: 'plop@gmail.com')) }
let!(:dossier_3) { create(:dossier, state: 'initiated', procedure: procedure_2, user: create(:user, email: 'peace@clap.fr')) } let!(:dossier_3) { create(:dossier, state: 'en_construction', procedure: procedure_2, user: create(:user, email: 'peace@clap.fr')) }
let!(:dossier_archived) { create(:dossier, state: 'initiated', procedure: procedure_1, archived: true, user: create(:user, email: 'brouillonArchived@clap.fr')) } let!(:dossier_archived) { create(:dossier, state: 'en_construction', procedure: procedure_1, archived: true, user: create(:user, email: 'brouillonArchived@clap.fr')) }
let!(:etablissement_1) { create(:etablissement, entreprise: create(:entreprise, raison_sociale: 'OCTO Academy', dossier: dossier_1), dossier: dossier_1, siret: '41636169600051') } let!(:etablissement_1) { create(:etablissement, entreprise: create(:entreprise, raison_sociale: 'OCTO Academy', dossier: dossier_1), dossier: dossier_1, siret: '41636169600051') }
let!(:etablissement_2) { create(:etablissement, entreprise: create(:entreprise, raison_sociale: 'Plop octo', dossier: dossier_2), dossier: dossier_2, siret: '41816602300012') } let!(:etablissement_2) { create(:etablissement, entreprise: create(:entreprise, raison_sociale: 'Plop octo', dossier: dossier_2), dossier: dossier_2, siret: '41816602300012') }
@ -38,7 +38,7 @@ describe Search do
it { expect(subject.size).to eq(0) } it { expect(subject.size).to eq(0) }
end end
describe 'search draft file' do describe 'search brouillon file' do
let(:terms) { 'brouillon' } let(:terms) { 'brouillon' }
it { expect(subject.size).to eq(0) } it { expect(subject.size).to eq(0) }

View file

@ -0,0 +1,37 @@
describe DossierSerializer do
describe '#attributes' do
subject { DossierSerializer.new(dossier).serializable_hash }
context 'when the dossier is en_construction' do
let(:dossier) { create(:dossier, :en_construction) }
it { is_expected.to include(initiated_at: dossier.en_construction_at) }
it { is_expected.to include(state: 'initiated') }
end
context 'when the dossier is en instruction' do
let(:dossier) { create(:dossier, :en_instruction) }
it { is_expected.to include(received_at: dossier.en_instruction_at) }
it { is_expected.to include(state: 'received') }
end
context 'when the dossier is accepte' do
let(:dossier) { create(:dossier, state: :accepte) }
it { is_expected.to include(state: 'closed') }
end
context 'when the dossier is refuse' do
let(:dossier) { create(:dossier, state: :refuse) }
it { is_expected.to include(state: 'refused') }
end
context 'when the dossier is sans_suite' do
let(:dossier) { create(:dossier, state: :sans_suite) }
it { is_expected.to include(state: 'without_continuation') }
end
end
end

View file

@ -1,6 +1,42 @@
require 'spec_helper' require 'spec_helper'
describe DossierTableExportSerializer do describe DossierTableExportSerializer do
describe '#attributes' do
subject { DossierTableExportSerializer.new(dossier).serializable_hash }
context 'when the dossier is en_construction' do
let(:dossier) { create(:dossier, :en_construction) }
it { is_expected.to include(initiated_at: dossier.en_construction_at) }
it { is_expected.to include(state: 'initiated') }
end
context 'when the dossier is en instruction' do
let(:dossier) { create(:dossier, :en_instruction) }
it { is_expected.to include(received_at: dossier.en_instruction_at) }
it { is_expected.to include(state: 'received') }
end
context 'when the dossier is accepte' do
let(:dossier) { create(:dossier, state: :accepte) }
it { is_expected.to include(state: 'closed') }
end
context 'when the dossier is refuse' do
let(:dossier) { create(:dossier, state: :refuse) }
it { is_expected.to include(state: 'refused') }
end
context 'when the dossier is sans_suite' do
let(:dossier) { create(:dossier, state: :sans_suite) }
it { is_expected.to include(state: 'without_continuation') }
end
end
describe '#emails_accompagnateurs' do describe '#emails_accompagnateurs' do
let(:gestionnaire){ create(:gestionnaire) } let(:gestionnaire){ create(:gestionnaire) }
let(:gestionnaire2) { create :gestionnaire} let(:gestionnaire2) { create :gestionnaire}

View file

@ -0,0 +1,11 @@
describe DossiersSerializer do
describe '#attributes' do
subject { DossiersSerializer.new(dossier).serializable_hash }
context 'when the dossier is en_construction' do
let(:dossier) { create(:dossier, :en_construction) }
it { is_expected.to include(initiated_at: dossier.en_construction_at) }
end
end
end

View file

@ -345,17 +345,17 @@ describe DossiersListGestionnaireService do
describe 'state filter methods' do describe 'state filter methods' do
let!(:procedure) { create :procedure } let!(:procedure) { create :procedure }
let!(:dossier) { create(:dossier, procedure: procedure, state: 'draft') } let!(:dossier) { create(:dossier, procedure: procedure, state: 'brouillon') }
let!(:dossier2) { create(:dossier, procedure: procedure, state: 'initiated') } #nouveaux let!(:dossier2) { create(:dossier, procedure: procedure, state: 'en_construction') } #nouveaux
let!(:dossier3) { create(:dossier, procedure: procedure, state: 'initiated') } #nouveaux let!(:dossier3) { create(:dossier, procedure: procedure, state: 'en_construction') } #nouveaux
let!(:dossier6) { create(:dossier, procedure: procedure, state: 'received') } #a_instruire let!(:dossier6) { create(:dossier, procedure: procedure, state: 'en_instruction') } #a_instruire
let!(:dossier7) { create(:dossier, procedure: procedure, state: 'received') } #a_instruire let!(:dossier7) { create(:dossier, procedure: procedure, state: 'en_instruction') } #a_instruire
let!(:dossier8) { create(:dossier, procedure: procedure, state: 'closed') } #termine let!(:dossier8) { create(:dossier, procedure: procedure, state: 'accepte') } #termine
let!(:dossier9) { create(:dossier, procedure: procedure, state: 'refused') } #termine let!(:dossier9) { create(:dossier, procedure: procedure, state: 'refuse') } #termine
let!(:dossier10) { create(:dossier, procedure: procedure, state: 'without_continuation') } #termine let!(:dossier10) { create(:dossier, procedure: procedure, state: 'sans_suite') } #termine
let!(:dossier11) { create(:dossier, procedure: procedure, state: 'closed') } #termine let!(:dossier11) { create(:dossier, procedure: procedure, state: 'accepte') } #termine
let!(:dossier12) { create(:dossier, procedure: procedure, state: 'initiated', archived: true) } #a_traiter #archived let!(:dossier12) { create(:dossier, procedure: procedure, state: 'en_construction', archived: true) } #a_traiter #archived
let!(:dossier14) { create(:dossier, procedure: procedure, state: 'closed', archived: true) } #termine #archived let!(:dossier14) { create(:dossier, procedure: procedure, state: 'accepte', archived: true) } #termine #archived
describe '#termine' do describe '#termine' do
subject { DossiersListGestionnaireService.new(gestionnaire, liste, procedure).termine } subject { DossiersListGestionnaireService.new(gestionnaire, liste, procedure).termine }

View file

@ -13,18 +13,18 @@ describe UserRoutesAuthorizationService do
describe 'Users::DossiersController' do describe 'Users::DossiersController' do
let(:controller) { Users::DossiersController } let(:controller) { Users::DossiersController }
describe 'draft' do describe 'brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'initiated' do describe 'en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
describe 'closed' do describe 'accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
end end
@ -33,18 +33,18 @@ describe UserRoutesAuthorizationService do
let(:controller) { Users::CarteController } let(:controller) { Users::CarteController }
context 'when use_api_carto is false' do context 'when use_api_carto is false' do
describe 'draft' do describe 'brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
describe 'initiated' do describe 'en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
describe 'closed' do describe 'accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
end end
@ -52,18 +52,18 @@ describe UserRoutesAuthorizationService do
context 'when use_api_carto is true' do context 'when use_api_carto is true' do
let(:use_api_carto) { true } let(:use_api_carto) { true }
describe 'draft' do describe 'brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'initiated' do describe 'en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'closed' do describe 'accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
end end
@ -72,18 +72,18 @@ describe UserRoutesAuthorizationService do
describe 'Users::DescriptionController' do describe 'Users::DescriptionController' do
let(:controller) { Users::DescriptionController } let(:controller) { Users::DescriptionController }
describe 'draft' do describe 'brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'initiated' do describe 'en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'closed' do describe 'accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
end end
@ -91,18 +91,18 @@ describe UserRoutesAuthorizationService do
describe 'recapitulatif' do describe 'recapitulatif' do
let(:controller) { Users::RecapitulatifController } let(:controller) { Users::RecapitulatifController }
describe 'draft' do describe 'brouillon' do
let(:state) { 'draft' } let(:state) { 'brouillon' }
it { is_expected.to be_falsey } it { is_expected.to be_falsey }
end end
describe 'initiated' do describe 'en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
describe 'closed' do describe 'accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
it { is_expected.to be_truthy } it { is_expected.to be_truthy }
end end
end end

View file

@ -45,7 +45,7 @@ describe 'admin/previsualisations/show.html.haml', type: :view do
context 'si la page précédente est recapitularif' do context 'si la page précédente est recapitularif' do
before do before do
dossier.initiated! dossier.en_construction!
dossier.reload dossier.reload
render render
end end

View file

@ -6,11 +6,11 @@ describe 'backoffice/dossiers/index.html.haml', type: :view do
let!(:procedure) { create(:procedure, :published, administrateur: administrateur) } let!(:procedure) { create(:procedure, :published, administrateur: administrateur) }
let!(:decorate_dossier_initiated) { create(:dossier, :with_entreprise, procedure: procedure, state: 'initiated').decorate } let!(:decorate_dossier_en_construction) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction').decorate }
let!(:decorate_dossier_received) { create(:dossier, :with_entreprise, procedure: procedure, state: 'received').decorate } let!(:decorate_dossier_en_instruction) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_instruction').decorate }
let!(:decorate_dossier_closed) { create(:dossier, :with_entreprise, procedure: procedure, state: 'closed').decorate } let!(:decorate_dossier_accepte) { create(:dossier, :with_entreprise, procedure: procedure, state: 'accepte').decorate }
let!(:decorate_dossier_refused) { create(:dossier, :with_entreprise, procedure: procedure, state: 'refused').decorate } let!(:decorate_dossier_refuse) { create(:dossier, :with_entreprise, procedure: procedure, state: 'refuse').decorate }
let!(:decorate_dossier_without_continuation) { create(:dossier, :with_entreprise, procedure: procedure, state: 'without_continuation').decorate } let!(:decorate_dossier_sans_suite) { create(:dossier, :with_entreprise, procedure: procedure, state: 'sans_suite').decorate }
let(:dossiers_list_facade) { DossiersListFacades.new gestionnaire, nil } let(:dossiers_list_facade) { DossiersListFacades.new gestionnaire, nil }
@ -19,10 +19,10 @@ describe 'backoffice/dossiers/index.html.haml', type: :view do
let(:all_state_dossiers_list) { dossiers_list_facade.service.all_state } let(:all_state_dossiers_list) { dossiers_list_facade.service.all_state }
before do before do
decorate_dossier_received.entreprise.update_column(:raison_sociale, 'plup') decorate_dossier_en_instruction.entreprise.update_column(:raison_sociale, 'plup')
decorate_dossier_closed.entreprise.update_column(:raison_sociale, 'plyp') decorate_dossier_accepte.entreprise.update_column(:raison_sociale, 'plyp')
decorate_dossier_refused.entreprise.update_column(:raison_sociale, 'plzp') decorate_dossier_refuse.entreprise.update_column(:raison_sociale, 'plzp')
decorate_dossier_without_continuation.entreprise.update_column(:raison_sociale, 'plnp') decorate_dossier_sans_suite.entreprise.update_column(:raison_sociale, 'plnp')
create :preference_list_dossier, create :preference_list_dossier,
gestionnaire: gestionnaire, gestionnaire: gestionnaire,

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe 'backoffice/dossiers/show.html.haml', type: :view do describe 'backoffice/dossiers/show.html.haml', type: :view do
let!(:dossier) { create(:dossier, :with_entreprise, state: state, motivation: "Motivation de décision") } let!(:dossier) { create(:dossier, :with_entreprise, state: state, motivation: "Motivation de décision") }
let(:state) { 'closed' } let(:state) { 'accepte' }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }

View file

@ -2,7 +2,7 @@ require 'spec_helper'
describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.html.haml', type: :view do describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.html.haml', type: :view do
let!(:dossier) { create(:dossier, :with_entreprise, state: state, archived: archived) } let!(:dossier) { create(:dossier, :with_entreprise, state: state, archived: archived) }
let(:state) { 'draft' } let(:state) { 'brouillon' }
let(:archived) { false } let(:archived) { false }
let(:gestionnaire) { create(:gestionnaire) } let(:gestionnaire) { create(:gestionnaire) }
let!(:assign_to) { create(:assign_to, gestionnaire: gestionnaire, procedure: dossier.procedure) } let!(:assign_to) { create(:assign_to, gestionnaire: gestionnaire, procedure: dossier.procedure) }
@ -28,8 +28,8 @@ describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.htm
it { expect(rendered).to have_link('Passer en instruction') } it { expect(rendered).to have_link('Passer en instruction') }
end end
context 'when dossier have state initiated' do context 'when dossier have state en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
before do before do
render render
@ -40,8 +40,8 @@ describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.htm
include_examples 'button Passer en instruction is present' include_examples 'button Passer en instruction is present'
end end
context 'when dossier have state received' do context 'when dossier have state en_instruction' do
let(:state) { 'received' } let(:state) { 'en_instruction' }
before do before do
render render
@ -56,8 +56,8 @@ describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.htm
end end
end end
context 'when dossier have state closed' do context 'when dossier have state accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
before do before do
render render
@ -72,8 +72,8 @@ describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.htm
end end
end end
context 'when dossier have state without_continuation' do context 'when dossier have state sans_suite' do
let(:state) { 'without_continuation' } let(:state) { 'sans_suite' }
before do before do
render render
@ -88,8 +88,8 @@ describe 'layouts/left_panels/_left_panel_backoffice_dossierscontroller_show.htm
end end
end end
context 'when dossier have state refused' do context 'when dossier have state refuse' do
let(:state) { 'refused' } let(:state) { 'refuse' }
before do before do
render render

View file

@ -3,7 +3,7 @@ require 'spec_helper'
describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.html.haml', type: :view do describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.html.haml', type: :view do
let(:dossier) { create(:dossier, :with_entreprise, state: state, procedure: create(:procedure, :with_api_carto, :with_two_type_de_piece_justificative, for_individual: true, individual_with_siret: true)) } let(:dossier) { create(:dossier, :with_entreprise, state: state, procedure: create(:procedure, :with_api_carto, :with_two_type_de_piece_justificative, for_individual: true, individual_with_siret: true)) }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:state) { 'draft' } let(:state) { 'brouillon' }
before do before do
sign_in dossier.user sign_in dossier.user
@ -11,8 +11,8 @@ describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.htm
end end
context 'buttons to change dossier state' do context 'buttons to change dossier state' do
context 'when dossier state is initiated' do context 'when dossier state is en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
before do before do
render render
end end
@ -20,8 +20,8 @@ describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.htm
it { expect(rendered).to have_content('En construction') } it { expect(rendered).to have_content('En construction') }
end end
context 'when dossier state is closed' do context 'when dossier state is accepte' do
let(:state) { 'closed' } let(:state) { 'accepte' }
before do before do
render render
@ -34,8 +34,8 @@ describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.htm
end end
end end
context 'when dossier state is refused' do context 'when dossier state is refuse' do
let(:state) { 'refused' } let(:state) { 'refuse' }
before do before do
render render
@ -48,8 +48,8 @@ describe 'layouts/left_panels/_left_panel_users_recapitulatifcontroller_show.htm
end end
end end
context 'when dossier state is without_continuation' do context 'when dossier state is sans_suite' do
let(:state) { 'without_continuation' } let(:state) { 'sans_suite' }
before do before do
render render

View file

@ -3,7 +3,7 @@ describe 'new_gestionnaire/dossiers/print.html.haml', type: :view do
context "with a dossier" do context "with a dossier" do
let(:current_gestionnaire) { create(:gestionnaire) } let(:current_gestionnaire) { create(:gestionnaire) }
let(:dossier) { create(:dossier, :received) } let(:dossier) { create(:dossier, :en_instruction) }
before do before do
assign(:dossier, dossier) assign(:dossier, dossier)

View file

@ -4,7 +4,7 @@ describe 'new_gestionnaire/dossiers/show.html.haml', type: :view do
let(:current_gestionnaire) { create(:gestionnaire) } let(:current_gestionnaire) { create(:gestionnaire) }
let(:individual) { nil } let(:individual) { nil }
let(:entreprise) { nil } let(:entreprise) { nil }
let(:dossier) { create(:dossier, :initiated, entreprise: entreprise, individual: individual) } let(:dossier) { create(:dossier, :en_construction, entreprise: entreprise, individual: individual) }
before do before do
assign(:dossier, dossier) assign(:dossier, dossier)

View file

@ -14,7 +14,7 @@ describe 'new_gestionnaire/procedures/_download_dossiers.html.haml', type: :view
end end
context "when procedure has at least 1 dossier en construction" do context "when procedure has at least 1 dossier en construction" do
let!(:dossier) { create(:dossier, :initiated, procedure: procedure) } let!(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
it { is_expected.to include("Télécharger tous les dossiers") } it { is_expected.to include("Télécharger tous les dossiers") }
end end
end end

View file

@ -1,7 +1,7 @@
require 'spec_helper' require 'spec_helper'
describe 'users/carte/show.html.haml', type: :view do describe 'users/carte/show.html.haml', type: :view do
let(:state) { 'draft' } let(:state) { 'brouillon' }
let(:dossier) { create(:dossier, state: state) } let(:dossier) { create(:dossier, state: state) }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
@ -38,7 +38,7 @@ describe 'users/carte/show.html.haml', type: :view do
end end
context 'si la page précédente est recapitularif' do context 'si la page précédente est recapitularif' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
it 'le bouton "Etape suivante" n\'est pas présent' do it 'le bouton "Etape suivante" n\'est pas présent' do
expect(rendered).to_not have_selector('#etape_suivante') expect(rendered).to_not have_selector('#etape_suivante')

View file

@ -42,7 +42,7 @@ describe 'users/description/show.html.haml', type: :view do
context 'si la page précédente est recapitularif' do context 'si la page précédente est recapitularif' do
before do before do
dossier.initiated! dossier.en_construction!
dossier.reload dossier.reload
render render
end end

View file

@ -3,12 +3,12 @@ require 'spec_helper'
describe 'users/dossiers/index.html.haml', type: :view do describe 'users/dossiers/index.html.haml', type: :view do
let(:user) { create(:user) } let(:user) { create(:user) }
let!(:decorate_dossier_initiated) { create(:dossier, :with_entreprise, user: user, state: 'initiated').decorate } let!(:decorate_dossier_en_construction) { create(:dossier, :with_entreprise, user: user, state: 'en_construction').decorate }
let!(:decorate_dossier_received) { create(:dossier, :with_entreprise, user: user, state: 'received').decorate } let!(:decorate_dossier_en_instruction) { create(:dossier, :with_entreprise, user: user, state: 'en_instruction').decorate }
let!(:decorate_dossier_closed) { create(:dossier, :with_entreprise, user: user, state: 'closed').decorate } let!(:decorate_dossier_accepte) { create(:dossier, :with_entreprise, user: user, state: 'accepte').decorate }
let!(:decorate_dossier_refused) { create(:dossier, :with_entreprise, user: user, state: 'refused').decorate } let!(:decorate_dossier_refuse) { create(:dossier, :with_entreprise, user: user, state: 'refuse').decorate }
let!(:decorate_dossier_without_continuation) { create(:dossier, :with_entreprise, user: user, state: 'without_continuation').decorate } let!(:decorate_dossier_sans_suite) { create(:dossier, :with_entreprise, user: user, state: 'sans_suite').decorate }
let!(:decorate_dossier_invite) { create(:dossier, :with_entreprise, user: create(:user), state: 'initiated').decorate } let!(:decorate_dossier_invite) { create(:dossier, :with_entreprise, user: create(:user), state: 'en_construction').decorate }
before do before do
create :invite, dossier: decorate_dossier_invite, user: user create :invite, dossier: decorate_dossier_invite, user: user
@ -45,7 +45,7 @@ describe 'users/dossiers/index.html.haml', type: :view do
let(:liste) { 'a_traiter' } let(:liste) { 'a_traiter' }
it_behaves_like 'check_tab_content' do it_behaves_like 'check_tab_content' do
let(:decorate_dossier_at_check) { decorate_dossier_initiated } let(:decorate_dossier_at_check) { decorate_dossier_en_construction }
end end
end end
@ -56,7 +56,7 @@ describe 'users/dossiers/index.html.haml', type: :view do
let(:liste) { 'en_instruction' } let(:liste) { 'en_instruction' }
it_behaves_like 'check_tab_content' do it_behaves_like 'check_tab_content' do
let(:decorate_dossier_at_check) { decorate_dossier_received } let(:decorate_dossier_at_check) { decorate_dossier_en_instruction }
end end
end end
@ -67,15 +67,15 @@ describe 'users/dossiers/index.html.haml', type: :view do
let(:liste) { 'termine' } let(:liste) { 'termine' }
it_behaves_like 'check_tab_content' do it_behaves_like 'check_tab_content' do
let(:decorate_dossier_at_check) { decorate_dossier_closed } let(:decorate_dossier_at_check) { decorate_dossier_accepte }
end end
it_behaves_like 'check_tab_content' do it_behaves_like 'check_tab_content' do
let(:decorate_dossier_at_check) { decorate_dossier_refused } let(:decorate_dossier_at_check) { decorate_dossier_refuse }
end end
it_behaves_like 'check_tab_content' do it_behaves_like 'check_tab_content' do
let(:decorate_dossier_at_check) { decorate_dossier_without_continuation } let(:decorate_dossier_at_check) { decorate_dossier_sans_suite }
end end
end end

View file

@ -3,7 +3,7 @@ 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, state: state, procedure: create(:procedure, :with_api_carto, :with_two_type_de_piece_justificative, for_individual: true, individual_with_siret: true)) } let(:dossier) { create(:dossier, :with_entreprise, state: state, procedure: create(:procedure, :with_api_carto, :with_two_type_de_piece_justificative, for_individual: true, individual_with_siret: true)) }
let(:dossier_id) { dossier.id } let(:dossier_id) { dossier.id }
let(:state) { 'draft' } let(:state) { 'brouillon' }
before do before do
sign_in dossier.user sign_in dossier.user
@ -59,8 +59,8 @@ describe 'users/recapitulatif/show.html.haml', type: :view do
end end
end end
context 'when dossier state is initiated' do context 'when dossier state is en_construction' do
let(:state) { 'initiated' } let(:state) { 'en_construction' }
before do before do
render render
end end