Refactor TypeDeXxxx
This commit is contained in:
parent
f3d8645426
commit
0906d44ea8
16 changed files with 485 additions and 429 deletions
|
@ -1,3 +1,7 @@
|
|||
var CHAMPS = 0,
|
||||
PJ = 1,
|
||||
ERROR = -1;
|
||||
|
||||
var ready = function () {
|
||||
$("#add_type_de_champ_procedure").on('click', function (e) {
|
||||
add_new_type_de('champ');
|
||||
|
@ -31,9 +35,6 @@ function add_delete_listener_on_click_for_type_de(type_libelle, node_id) {
|
|||
}
|
||||
|
||||
function add_new_type_de(type_libelle) {
|
||||
var CHAMPS = 0,
|
||||
PJ = 1,
|
||||
ERROR = -1;
|
||||
|
||||
if (is_champ_or_pj() == ERROR) return false;
|
||||
|
||||
|
@ -50,8 +51,6 @@ function add_new_type_de(type_libelle) {
|
|||
$("#liste_" + type_libelle).append($("#type_de_" + type_libelle + "_" + which_index()));
|
||||
$("#new_type_de_" + type_libelle).append($("#type_de_" + type_libelle + "_" + which_index()).clone());
|
||||
|
||||
$("#delete_type_de_" + type_libelle + "_" + which_index() + "_button").show();
|
||||
|
||||
if (is_champ_or_pj() == CHAMPS) {
|
||||
types_de_champ_index++;
|
||||
add_new_type_de_champ_params(which_index());
|
||||
|
@ -63,19 +62,7 @@ function add_new_type_de(type_libelle) {
|
|||
|
||||
$("#new_type_de_" + type_libelle + " .form-inline").attr('id', 'type_de_' + type_libelle + '_' + which_index());
|
||||
|
||||
$("#new_type_de_" + type_libelle + " #id_type_de_" + type_libelle + "").attr('name', 'type_de_' + type_libelle + '[' + which_index() + '][id_type_de_' + type_libelle + ']');
|
||||
$("#new_type_de_" + type_libelle + " #id_type_de_" + type_libelle + "").val('');
|
||||
|
||||
$("#new_type_de_" + type_libelle + " #delete").attr('name', 'type_de_' + type_libelle + '[' + which_index() + '][delete]');
|
||||
$("#new_type_de_" + type_libelle + " #delete").val('false');
|
||||
|
||||
$("#new_type_de_" + type_libelle + " #delete_type_de_" + type_libelle + "_" + (which_index() - 1) + "_button").attr('id', "delete_type_de_" + type_libelle + "_" + which_index() + "_button");
|
||||
$("#new_type_de_" + type_libelle + " #delete_type_de_" + type_libelle + "_" + (which_index() - 1) + "_procedure").attr('id', "delete_type_de_" + type_libelle + "_" + which_index() + "_procedure");
|
||||
|
||||
if (is_champ_or_pj() == CHAMPS)
|
||||
add_delete_listener_on_click_for_type_de("champ", "#delete_type_de_champ_" + which_index() + "_procedure");
|
||||
else if (is_champ_or_pj() == PJ)
|
||||
add_delete_listener_on_click_for_type_de("piece_justificative", "#delete_type_de_piece_justificative_" + which_index() + "_procedure");
|
||||
config_delete_button(type_libelle, which_index(), is_champ_or_pj())
|
||||
|
||||
$("#new_type_de_" + type_libelle + " #add_type_de_" + type_libelle + "_button").remove();
|
||||
$("#new_type_de_" + type_libelle + " .form-inline").append($("#add_type_de_" + type_libelle + "_button"))
|
||||
|
@ -87,15 +74,19 @@ function add_new_type_de(type_libelle) {
|
|||
}
|
||||
|
||||
function add_new_type_de_champ_params() {
|
||||
$("#new_type_de_champ #libelle").attr('name', 'type_de_champ[' + types_de_champ_index + '][libelle]');
|
||||
$("#new_type_de_champ #libelle").val('');
|
||||
$("#new_type_de_champ .libelle").attr('name', 'procedure[new_type_de_champ[' + types_de_champ_index + ']][libelle]');
|
||||
$("#new_type_de_champ .libelle").attr('id', 'procedure_new_type_de_champ_'+types_de_champ_index+'__libelle');
|
||||
$("#new_type_de_champ .libelle").val('');
|
||||
|
||||
$("#new_type_de_champ #description").attr('name', 'type_de_champ[' + types_de_champ_index + '][description]');
|
||||
$("#new_type_de_champ #description").val('');
|
||||
$("#new_type_de_champ .description").attr('name', 'procedure[new_type_de_champ[' + types_de_champ_index + ']][description]');
|
||||
$("#new_type_de_champ .description").attr('id', 'procedure_new_type_de_champ_'+types_de_champ_index+'__description');
|
||||
$("#new_type_de_champ .description").val('');
|
||||
|
||||
$("#new_type_de_champ #type_champs").attr('name', 'type_de_champ[' + types_de_champ_index + '][type]');
|
||||
$("#new_type_de_champ .type_champs").attr('name', 'procedure[new_type_de_champ[' + types_de_champ_index + ']][type_champs]');
|
||||
$("#new_type_de_champ .type_champs").attr('id', 'procedure_new_type_de_champ_'+types_de_champ_index+'__type_champs');
|
||||
|
||||
$("#new_type_de_champ .order_place").attr('name', 'type_de_champ[' + types_de_champ_index + '][order_place]');
|
||||
$("#new_type_de_champ .order_place").attr('name', 'procedure[new_type_de_champ[' + types_de_champ_index + ']][order_place]');
|
||||
$("#new_type_de_champ .order_place").attr('id', 'procedure_new_type_de_champ_'+types_de_champ_index+'__order_place');
|
||||
$("#new_type_de_champ .order_place").val(parseInt($("#liste_champ .order_place").last().val()) + 1);
|
||||
|
||||
$("#new_type_de_champ .order_type_de_champ_button").attr('id', 'order_type_de_champ_' + types_de_champ_index + '_button')
|
||||
|
@ -104,18 +95,20 @@ function add_new_type_de_champ_params() {
|
|||
}
|
||||
|
||||
function add_new_type_de_piece_justificative_params() {
|
||||
$("#new_type_de_piece_justificative #libelle").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][libelle]');
|
||||
$("#new_type_de_piece_justificative #libelle").val('');
|
||||
$("#new_type_de_piece_justificative .libelle").attr('name', 'procedure[new_type_de_piece_justificative[' + types_de_piece_justificative_index + ']][libelle]');
|
||||
$("#new_type_de_piece_justificative .libelle").attr('id', 'procedure_new_type_de_piece_justificative_'+types_de_piece_justificative_index+'__libelle');
|
||||
$("#new_type_de_piece_justificative .libelle").val('');
|
||||
|
||||
$("#new_type_de_piece_justificative #description").attr('name', 'type_de_piece_justificative[' + types_de_piece_justificative_index + '][description]');
|
||||
$("#new_type_de_piece_justificative #description").val('');
|
||||
$("#new_type_de_piece_justificative .description").attr('name', 'procedure[new_type_de_piece_justificative[' + types_de_piece_justificative_index + ']][description]');
|
||||
$("#new_type_de_piece_justificative .description").attr('id', 'procedure_new_type_de_piece_justificative_'+types_de_piece_justificative_index+'__description');
|
||||
$("#new_type_de_piece_justificative .description").val('');
|
||||
}
|
||||
|
||||
function delete_type_de(type_libelle, index) {
|
||||
var delete_node = $("#type_de_" + type_libelle + "_" + index).hide();
|
||||
|
||||
$("#liste_delete_" + type_libelle).append(delete_node);
|
||||
$("#type_de_" + type_libelle + "_" + index + " #delete").val('true');
|
||||
$("#type_de_" + type_libelle + "_" + index + " .destroy").val('true');
|
||||
|
||||
if (type_libelle == 'champ') {
|
||||
var next_order_place = parseInt($("#type_de_" + type_libelle + "_" + index + " .order_place").val());
|
||||
|
@ -134,15 +127,13 @@ function delete_type_de(type_libelle, index) {
|
|||
|
||||
function config_up_and_down_button() {
|
||||
if ($("#liste_champ .order_place").size() > 0) {
|
||||
var first_index = $("#liste_champ .order_place").first()
|
||||
.attr('name')
|
||||
.replace('type_de_champ[', '')
|
||||
.replace('][order_place]', '');
|
||||
var first_index = $("#liste_champ .type_de_champ").first()
|
||||
.attr('id')
|
||||
.replace('type_de_champ_', '');
|
||||
|
||||
var last_index = $("#liste_champ .order_place").last()
|
||||
.attr('name')
|
||||
.replace('type_de_champ[', '')
|
||||
.replace('][order_place]', '');
|
||||
var last_index = $("#liste_champ .type_de_champ").last()
|
||||
.attr('id')
|
||||
.replace('type_de_champ_', '');
|
||||
|
||||
$(".button_up").show();
|
||||
$(".button_down").show();
|
||||
|
@ -153,6 +144,22 @@ function config_up_and_down_button() {
|
|||
}
|
||||
}
|
||||
|
||||
function config_delete_button (type_libelle, index, champ_or_pj){
|
||||
$("#new_type_de_" + type_libelle + " .destroy").attr('name', 'procedure[new_type_de_' + type_libelle + '[' + index + ']][_destroy]');
|
||||
$("#new_type_de_" + type_libelle + " .destroy").attr('id', 'procedure_new_type_de_' + type_libelle + '_' + index + '___destroy');
|
||||
$("#new_type_de_" + type_libelle + " .destroy").val('false');
|
||||
|
||||
$("#new_type_de_" + type_libelle + " #delete_type_de_" + type_libelle + "_" + (index - 1) + "_button").attr('id', "delete_type_de_" + type_libelle + "_" + index + "_button");
|
||||
$("#new_type_de_" + type_libelle + " #delete_type_de_" + type_libelle + "_" + (index - 1) + "_procedure").attr('id', "delete_type_de_" + type_libelle + "_" + index + "_procedure");
|
||||
|
||||
if (champ_or_pj == CHAMPS)
|
||||
add_delete_listener_on_click_for_type_de("champ", "#delete_type_de_champ_" + index + "_procedure");
|
||||
else if (champ_or_pj == PJ)
|
||||
add_delete_listener_on_click_for_type_de("piece_justificative", "#delete_type_de_piece_justificative_" + index + "_procedure");
|
||||
|
||||
$("#delete_type_de_" + type_libelle + "_" + (index - 1) + "_button").show();
|
||||
}
|
||||
|
||||
function add_action_listener_on_click_for_button_up(node_id) {
|
||||
$(node_id).on('click', function (e) {
|
||||
var index = (e.target.id).replace('order_type_de_champ_', '').replace('_up_procedure', '');
|
||||
|
|
|
@ -7,6 +7,9 @@ class Admin::ProceduresController < ApplicationController
|
|||
|
||||
def show
|
||||
@procedure = Procedure.find(params[:id])
|
||||
@types_de_champ = @procedure.types_de_champ.order(:order_place)
|
||||
@types_de_piece_justificative = @procedure.types_de_piece_justificative.order(:libelle)
|
||||
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
flash.alert = 'Procédure inéxistante'
|
||||
redirect_to admin_procedures_path
|
||||
|
@ -24,14 +27,15 @@ class Admin::ProceduresController < ApplicationController
|
|||
return render 'new'
|
||||
end
|
||||
|
||||
process_types_de_champ_params
|
||||
process_types_de_piece_justificative_params
|
||||
process_new_types_de_champ_params
|
||||
process_new_types_de_piece_justificative_params
|
||||
|
||||
flash.notice = 'Procédure enregistrée'
|
||||
redirect_to admin_procedures_path
|
||||
end
|
||||
|
||||
def update
|
||||
# raise
|
||||
@procedure = Procedure.find(params[:id])
|
||||
|
||||
unless @procedure.update_attributes(create_procedure_params)
|
||||
|
@ -39,8 +43,11 @@ class Admin::ProceduresController < ApplicationController
|
|||
return render 'show'
|
||||
end
|
||||
|
||||
process_types_de_champ_params
|
||||
process_types_de_piece_justificative_params
|
||||
process_new_types_de_champ_params
|
||||
process_update_types_de_champ_params
|
||||
|
||||
process_new_types_de_piece_justificative_params
|
||||
process_update_types_de_piece_justificative_params
|
||||
|
||||
flash.notice = 'Préocédure modifiée'
|
||||
redirect_to admin_procedures_path
|
||||
|
@ -48,51 +55,65 @@ class Admin::ProceduresController < ApplicationController
|
|||
|
||||
private
|
||||
|
||||
def process_types_de_champ_params
|
||||
unless params[:type_de_champ].nil? || params[:type_de_champ].size == 0
|
||||
params[:type_de_champ].each do |index, type_de_champ|
|
||||
def process_new_types_de_champ_params
|
||||
unless params[:procedure][:new_type_de_champ].nil?
|
||||
params[:procedure][:new_type_de_champ].each do |new_type_de_champ|
|
||||
type_de_champ = TypeDeChamp.new
|
||||
|
||||
if type_de_champ[:delete] == 'true'
|
||||
unless type_de_champ[:id_type_de_champ].nil? || type_de_champ[:id_type_de_champ] == ''
|
||||
TypeDeChamp.destroy(type_de_champ[:id_type_de_champ])
|
||||
end
|
||||
else
|
||||
if type_de_champ[:id_type_de_champ].nil? || type_de_champ[:id_type_de_champ] == ''
|
||||
bdd_object = TypeDeChamp.new
|
||||
else
|
||||
bdd_object = TypeDeChamp.find(type_de_champ[:id_type_de_champ])
|
||||
end
|
||||
|
||||
save_type_de_champ bdd_object, type_de_champ
|
||||
if new_type_de_champ[1]['_destroy'] == 'false'
|
||||
save_new_type_de_champ type_de_champ, new_type_de_champ[1]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def process_types_de_piece_justificative_params
|
||||
unless params[:type_de_piece_justificative].nil? || params[:type_de_piece_justificative].size == 0
|
||||
params[:type_de_piece_justificative].each do |index, type_de_piece_justificative|
|
||||
def process_update_types_de_champ_params
|
||||
unless params[:procedure][:types_de_champ].nil?
|
||||
params[:procedure][:types_de_champ].each do |type_de_champ|
|
||||
tmp = TypeDeChamp.find(type_de_champ[0])
|
||||
if type_de_champ[1]['_destroy'] == 'false'
|
||||
save_new_type_de_champ tmp, type_de_champ[1]
|
||||
|
||||
if type_de_piece_justificative[:delete] == 'true'
|
||||
unless type_de_piece_justificative[:id_type_de_piece_justificative].nil? || type_de_piece_justificative[:id_type_de_piece_justificative] == ''
|
||||
TypeDePieceJustificative.destroy(type_de_piece_justificative[:id_type_de_piece_justificative])
|
||||
end
|
||||
else
|
||||
if type_de_piece_justificative[:id_type_de_piece_justificative].nil? || type_de_piece_justificative[:id_type_de_piece_justificative] == ''
|
||||
bdd_object = TypeDePieceJustificative.new
|
||||
else
|
||||
bdd_object = TypeDePieceJustificative.find(type_de_piece_justificative[:id_type_de_piece_justificative])
|
||||
end
|
||||
|
||||
save_type_de_piece_justificative bdd_object, type_de_piece_justificative
|
||||
elsif type_de_champ[1]['_destroy'] == 'true'
|
||||
tmp.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def save_type_de_champ database_object, source
|
||||
def process_new_types_de_piece_justificative_params
|
||||
unless params[:procedure][:new_type_de_piece_justificative].nil?
|
||||
params[:procedure][:new_type_de_piece_justificative].each do |new_type_de_piece_justificative|
|
||||
type_de_pj = TypeDePieceJustificative.new
|
||||
|
||||
if new_type_de_piece_justificative[1]['_destroy'] == 'false'
|
||||
save_new_type_de_piece_justificative type_de_pj, new_type_de_piece_justificative[1]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def process_update_types_de_piece_justificative_params
|
||||
unless params[:procedure][:types_de_piece_justificative].nil?
|
||||
params[:procedure][:types_de_piece_justificative].each do |type_de_piece_justificative|
|
||||
tmp = TypeDePieceJustificative.find(type_de_piece_justificative[0])
|
||||
|
||||
if type_de_piece_justificative[1]['_destroy'] == 'false'
|
||||
save_new_type_de_piece_justificative tmp, type_de_piece_justificative[1]
|
||||
|
||||
elsif type_de_piece_justificative[1]['_destroy'] == 'true'
|
||||
tmp.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
def save_new_type_de_champ database_object, source
|
||||
database_object.libelle = source[:libelle]
|
||||
database_object.type_champs = source[:type]
|
||||
database_object.type_champs = source[:type_champs]
|
||||
database_object.description = source[:description]
|
||||
database_object.order_place = source[:order_place]
|
||||
database_object.procedure = @procedure
|
||||
|
@ -100,7 +121,7 @@ class Admin::ProceduresController < ApplicationController
|
|||
database_object.save
|
||||
end
|
||||
|
||||
def save_type_de_piece_justificative database_object, source
|
||||
def save_new_type_de_piece_justificative database_object, source
|
||||
database_object.libelle = source[:libelle]
|
||||
database_object.description = source[:description]
|
||||
database_object.procedure = @procedure
|
||||
|
@ -110,5 +131,7 @@ class Admin::ProceduresController < ApplicationController
|
|||
|
||||
def create_procedure_params
|
||||
params.require(:procedure).permit(:libelle, :description, :organisation, :direction, :lien_demarche, :use_api_carto)
|
||||
|
||||
#params.require(:procedure).permit(:libelle, :description, :organisation, :direction, :lien_demarche, :use_api_carto, types_de_champ_attributes: [:libelle, :description, :order_place, :type_champs])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,6 +2,7 @@ class Procedure < ActiveRecord::Base
|
|||
has_many :types_de_piece_justificative
|
||||
has_many :types_de_champ
|
||||
has_many :dossiers
|
||||
accepts_nested_attributes_for :types_de_champ
|
||||
|
||||
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
||||
validates :description, presence: true, allow_blank: false, allow_nil: false
|
||||
|
|
|
@ -1,40 +1,38 @@
|
|||
.form-inline{id:"type_de_champ_#{index}", style: 'padding-bottom:8px'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Libellé
|
||||
%input.form-control#libelle{ type: 'text', placeholder: 'Libelle', name:"type_de_champ[#{index}][libelle]", size: 40, value: ("#{ type_de_champ.libelle }" unless type_de_champ.nil? ) }
|
||||
- types_de_champ.each do |type_de_champ|
|
||||
- type_de_champ.id.nil? ? object_for = "new_type_de_champ[#{index}]" : object_for = 'types_de_champ[]'
|
||||
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Type
|
||||
%select.form-control#type_champs{ name: "type_de_champ[#{index}][type]" }
|
||||
%option{ value: 'text', selected: (type_de_champ.type_champs == 'text' unless type_de_champ.nil?)}
|
||||
Simple texte
|
||||
%option{ value: 'textarea', selected: (type_de_champ.type_champs == 'textarea' unless type_de_champ.nil?)}
|
||||
Texte multi-lignes
|
||||
%option{ value: 'datetime', selected: (type_de_champ.type_champs == 'datetime' unless type_de_champ.nil?)}
|
||||
Date
|
||||
%option{ value: 'number', selected: (type_de_champ.type_champs == 'number' unless type_de_champ.nil?)}
|
||||
Valeur numérique
|
||||
= f.fields_for object_for, type_de_champ do |ff|
|
||||
.form-inline{id:"type_de_champ_#{type_de_champ.id || index}", class: 'type_de_champ', style: 'padding-bottom:8px'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Libellé
|
||||
=ff.text_field :libelle, class: 'form-control libelle', placeholder: 'Libellé'
|
||||
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4
|
||||
Description
|
||||
%textarea.form-control#description{cols: 60, placeholder: 'Description', name: "type_de_champ[#{index}][description]"}
|
||||
=("#{ type_de_champ.description }" unless type_de_champ.nil? )
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Type
|
||||
=ff.select :type_champs, TypeDeChamp.type_champs, {}, {class: 'form-control type_champs'}
|
||||
|
||||
%input.order_place{type: 'hidden', name: "type_de_champ[#{index}][order_place]", value: (("#{ type_de_champ.order_place }" unless type_de_champ.nil?) || index+1)}
|
||||
%input#id_type_de_champ{type: 'hidden', name: "type_de_champ[#{index}][id_type_de_champ]", value: (("#{ type_de_champ.id}" unless type_de_champ.nil?))}
|
||||
%input#delete{type: 'hidden', name: "type_de_champ[#{index}][delete]", value: 'false'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4
|
||||
Description
|
||||
=ff.text_area :description, class: 'form-control description', placeholder: 'Description'
|
||||
|
||||
-if type_de_champ.nil?
|
||||
.form-group#add_type_de_champ_button
|
||||
%br
|
||||
%button.form-control.btn.btn-success#add_type_de_champ_procedure{type: 'button'} Ajouter
|
||||
-if order_place.nil?
|
||||
=ff.hidden_field :order_place, class: 'order_place'
|
||||
-else
|
||||
=ff.hidden_field :order_place, value: order_place, class: 'order_place'
|
||||
=ff.hidden_field '_destroy', value: 'false', class: 'destroy'
|
||||
|
||||
.form-group.order_type_de_champ_button{id: "order_type_de_champ_#{index}_button", style: ("display:none" if type_de_champ.nil?)}
|
||||
%br
|
||||
%button.form-control.btn.btn-default.button_up.fa.fa-chevron-up{type: 'button', id: "order_type_de_champ_#{index}_up_procedure"}
|
||||
%button.form-control.btn.btn-default.button_down.fa.fa-chevron-down{type: 'button', id: "order_type_de_champ_#{index}_down_procedure"}
|
||||
.form-group.order_type_de_champ_button{id: "order_type_de_champ_#{type_de_champ.id || index}_button", style: ("display:none" if type_de_champ.id.nil?)}
|
||||
%br
|
||||
%button.form-control.btn.btn-default.button_up.fa.fa-chevron-up{type: 'button', id: "order_type_de_champ_#{type_de_champ.id || index}_up_procedure"}
|
||||
%button.form-control.btn.btn-default.button_down.fa.fa-chevron-down{type: 'button', id: "order_type_de_champ_#{type_de_champ.id || index}_down_procedure"}
|
||||
|
||||
.form-group{ id: "delete_type_de_champ_#{type_de_champ.id || index}_button", style: ("display:none" if type_de_champ.id.nil?)}
|
||||
%br
|
||||
%button.form-control.btn.btn-danger.fa.fa-trash-o{type: 'button', id: "delete_type_de_champ_#{type_de_champ.id || index}_procedure"}
|
||||
|
||||
-if type_de_champ.id.nil?
|
||||
.form-group#add_type_de_champ_button
|
||||
%br
|
||||
%button.form-control.btn.btn-success#add_type_de_champ_procedure{type: 'button'} Ajouter
|
||||
|
||||
.form-group{id: "delete_type_de_champ_#{index}_button", style: ("display:none" if type_de_champ.nil?)}
|
||||
%br
|
||||
%button.form-control.btn.btn-danger.fa.fa-trash-o{type: 'button', id: "delete_type_de_champ_#{index}_procedure"}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
#liste_champ
|
||||
-if @procedure.types_de_champ.size > 0
|
||||
- @procedure.types_de_champ.order(:order_place).each_with_index do |type_de_champ, index|
|
||||
=render partial: 'admin/procedures/types_de_champ/form', locals:{ type_de_champ: type_de_champ, index: index }
|
||||
-unless @types_de_champ.nil?
|
||||
=render partial: 'admin/procedures/types_de_champ/form', locals:{ types_de_champ: @types_de_champ, order_place: nil, f: f }
|
||||
|
||||
#liste_delete_champ
|
||||
|
||||
#new_type_de_champ
|
||||
=render partial: 'admin/procedures/types_de_champ/form', locals:{ type_de_champ: nil, index: @procedure.types_de_champ.size }
|
||||
=render partial: 'admin/procedures/types_de_champ/form', locals:{ types_de_champ: [TypeDeChamp.new], index: (@types_de_champ.nil? || @types_de_champ.last.nil? ? 0 : @procedure.types_de_champ.last.id+1), order_place: (@types_de_champ.nil? ? 1 : @types_de_champ.size+1), f: f }
|
||||
|
||||
%script{ type:'text/javascript' }
|
||||
="var types_de_champ_index = #{@procedure.types_de_champ.size}"
|
||||
="var types_de_champ_index = #{(@types_de_champ.nil? || @types_de_champ.last.nil? ? 0 : @procedure.types_de_champ.last.id+1)}"
|
|
@ -1,22 +1,25 @@
|
|||
.form-inline{id:"type_de_piece_justificative_#{index}", style: 'padding-bottom:8px'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Libellé
|
||||
%input.form-control#libelle{ type: 'text', placeholder: 'Libelle', name:"type_de_piece_justificative[#{index}][libelle]", size: 40, value: ("#{ type_de_piece_justificative.libelle }" unless type_de_piece_justificative.nil? ) }
|
||||
- types_de_piece_justificative.each do |type_de_piece_justificative|
|
||||
- type_de_piece_justificative.id.nil? ? object_for = "new_type_de_piece_justificative[#{index}]" : object_for = 'types_de_piece_justificative[]'
|
||||
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4
|
||||
Description
|
||||
%textarea.form-control#description{cols: 60, placeholder: 'Description', name: "type_de_piece_justificative[#{index}][description]"}
|
||||
=("#{ type_de_piece_justificative.description }" unless type_de_piece_justificative.nil? )
|
||||
= f.fields_for object_for, type_de_piece_justificative do |ff|
|
||||
.form-inline{id:"type_de_piece_justificative_#{type_de_piece_justificative.id || index}", class: 'type_de_piece_justificative', style: 'padding-bottom:8px'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4 Libellé
|
||||
=ff.text_field :libelle, class: 'form-control libelle', placeholder: 'Libellé'
|
||||
|
||||
%input#id_type_de_piece_justificative{type: 'hidden', name: "type_de_piece_justificative[#{index}][id_type_de_piece_justificative]", value: (("#{ type_de_piece_justificative.id}" unless type_de_piece_justificative.nil?))}
|
||||
%input#delete{type: 'hidden', name: "type_de_piece_justificative[#{index}][delete]", value: 'false'}
|
||||
.form-group{ style: 'padding-right: 2%' }
|
||||
%h4
|
||||
Description
|
||||
=ff.text_area :description, class: 'form-control description', placeholder: 'Description'
|
||||
|
||||
-if type_de_piece_justificative.nil?
|
||||
.form-group#add_type_de_piece_justificative_button
|
||||
%br
|
||||
%button.form-control.btn.btn-success#add_type_de_piece_justificative_procedure{type: 'button'} Ajouter
|
||||
=ff.hidden_field '_destroy', value: 'false', class: 'destroy'
|
||||
|
||||
.form-group{ id: "delete_type_de_piece_justificative_#{type_de_piece_justificative.id || index}_button", style: ("display:none" if type_de_piece_justificative.id.nil?) }
|
||||
%br
|
||||
%button.form-control.btn.btn-danger.fa.fa-trash-o{type: 'button', id: "delete_type_de_piece_justificative_#{type_de_piece_justificative.id || index}_procedure"}
|
||||
|
||||
-if type_de_piece_justificative.id.nil?
|
||||
.form-group#add_type_de_piece_justificative_button
|
||||
%br
|
||||
%button.form-control.btn.btn-success#add_type_de_piece_justificative_procedure{type: 'button'} Ajouter
|
||||
|
||||
.form-group{id: "delete_type_de_piece_justificative_#{index}_button", style: ("display:none" if type_de_piece_justificative.nil?)}
|
||||
%br
|
||||
%button.form-control.btn.btn-danger.fa.fa-trash-o{type: 'button', id: "delete_type_de_piece_justificative_#{index}_procedure"}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
#liste_piece_justificative
|
||||
-if @procedure.types_de_piece_justificative.size > 0
|
||||
- @procedure.types_de_piece_justificative.order(:libelle).each_with_index do |type_de_piece_justificative, index|
|
||||
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ type_de_piece_justificative: type_de_piece_justificative, index: index }
|
||||
-unless @types_de_piece_justificative.nil?
|
||||
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ types_de_piece_justificative: @types_de_piece_justificative, f: f }
|
||||
|
||||
#liste_delete_piece_justificative
|
||||
|
||||
#new_type_de_piece_justificative
|
||||
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ type_de_piece_justificative: nil, index: @procedure.types_de_piece_justificative.size }
|
||||
=render partial: 'admin/procedures/types_de_piece_justificative/form', locals:{ types_de_piece_justificative: [TypeDePieceJustificative.new], index: (@types_de_piece_justificative.nil? || @types_de_piece_justificative.last.nil? ? 0 : @procedure.types_de_piece_justificative.last.id+1), f: f }
|
||||
|
||||
%script{ type:'text/javascript' }
|
||||
="var types_de_piece_justificative_index = #{@procedure.types_de_piece_justificative.size}"
|
||||
="var types_de_piece_justificative_index = #{(@types_de_piece_justificative.nil? || @types_de_piece_justificative.last.nil? ? 0 : @procedure.types_de_piece_justificative.last.id+1)}"
|
|
@ -11,6 +11,10 @@ describe Admin::ProceduresController, type: :controller do
|
|||
let(:direction) { 'Direction de test' }
|
||||
let(:lien_demarche) { 'http://localhost.com' }
|
||||
let(:use_api_carto) { '1' }
|
||||
let(:new_type_de_champ) { {} }
|
||||
let(:types_de_champ) { {} }
|
||||
let(:new_type_de_piece_justificative) { {} }
|
||||
let(:types_de_piece_justificative) { {} }
|
||||
|
||||
let(:procedure_params) {
|
||||
{
|
||||
|
@ -19,55 +23,67 @@ describe Admin::ProceduresController, type: :controller do
|
|||
organisation: organisation,
|
||||
direction: direction,
|
||||
lien_demarche: lien_demarche,
|
||||
use_api_carto: use_api_carto
|
||||
use_api_carto: use_api_carto,
|
||||
new_type_de_champ: new_type_de_champ,
|
||||
types_de_champ: types_de_champ,
|
||||
new_type_de_piece_justificative: new_type_de_piece_justificative,
|
||||
types_de_piece_justificative: types_de_piece_justificative
|
||||
}
|
||||
}
|
||||
|
||||
let(:types_de_champ_params) {
|
||||
let(:two_new_type_de_champ) {
|
||||
{'0' =>
|
||||
{libelle: 'Champs de test',
|
||||
type: 'number',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test',
|
||||
order_place: 1},
|
||||
order_place: 1,
|
||||
'_destroy' => 'false'},
|
||||
'1' =>
|
||||
{libelle: 'Champs de test 2',
|
||||
type: 'text',
|
||||
type_champs: 'text',
|
||||
description: 'Description de test 2',
|
||||
order_place: 2}
|
||||
order_place: 2,
|
||||
'_destroy' => 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:types_de_champ_params_errors) {
|
||||
{'0' =>
|
||||
{libelle: '',
|
||||
type: 'number',
|
||||
description: 'Description de test',
|
||||
order_place: 1},
|
||||
'1' =>
|
||||
{libelle: 'Champs de test 2',
|
||||
type: 'text',
|
||||
description: 'Description de test 2',
|
||||
order_place: 2}
|
||||
}
|
||||
}
|
||||
|
||||
let(:types_de_piece_justificative_params_errors) {
|
||||
{'0' =>
|
||||
{libelle: '',
|
||||
description: 'Description de test'},
|
||||
'1' =>
|
||||
{libelle: 'Champs de test 2',
|
||||
description: 'Description de test 2'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:types_de_piece_justificative_params) {
|
||||
let(:two_new_types_de_piece_justificative) {
|
||||
{'0' =>
|
||||
{libelle: 'PJ de test',
|
||||
description: 'Description de test'},
|
||||
description: 'Description de test',
|
||||
'_destroy' => 'false'},
|
||||
'1' =>
|
||||
{libelle: 'PJ de test 2',
|
||||
description: 'Description de test 2'}
|
||||
description: 'Description de test 2',
|
||||
'_destroy' => 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:two_new_type_de_champ_one_errors) {
|
||||
{'0' =>
|
||||
{libelle: '',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test',
|
||||
order_place: 1,
|
||||
'_destroy' => 'false'},
|
||||
'1' =>
|
||||
{libelle: 'Champs de test 2',
|
||||
type_champs: 'text',
|
||||
description: 'Description de test 2',
|
||||
order_place: 2,
|
||||
'_destroy' => 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:two_new_types_de_piece_justificative_one_errors) {
|
||||
{'0' =>
|
||||
{libelle: '',
|
||||
description: 'Description de test',
|
||||
'_destroy' => 'false'},
|
||||
'1' =>
|
||||
{libelle: 'Champs de test 2',
|
||||
description: 'Description de test 2',
|
||||
'_destroy' => 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,37 +169,39 @@ describe Admin::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
describe 'type_de_champ processing' do
|
||||
|
||||
before do
|
||||
post :create, procedure: procedure_params, type_de_champ: types_de_champ_params
|
||||
post :create, procedure: procedure_params
|
||||
end
|
||||
|
||||
subject { Procedure.last }
|
||||
|
||||
context 'when no type de champs is filled' do
|
||||
let(:types_de_champ_params) { {} }
|
||||
let(:new_type_de_champ) { {} }
|
||||
it { expect(subject.types_de_champ.size).to eq(0) }
|
||||
end
|
||||
|
||||
context 'when two types de champs are filled' do
|
||||
let(:new_type_de_champ) { two_new_type_de_champ }
|
||||
it { expect(subject.types_de_champ.size).to eq(2) }
|
||||
|
||||
describe ' check types de champs attributs present into database' do
|
||||
subject { TypeDeChamp.all }
|
||||
|
||||
it { expect(subject[0].libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||
it { expect(subject[0].type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||
it { expect(subject[0].description).to eq(types_de_champ_params['0'][:description]) }
|
||||
it { expect(subject[0].order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||
it { expect(subject[0].libelle).to eq(two_new_type_de_champ['0'][:libelle]) }
|
||||
it { expect(subject[0].type_champs).to eq(two_new_type_de_champ['0'][:type_champs]) }
|
||||
it { expect(subject[0].description).to eq(two_new_type_de_champ['0'][:description]) }
|
||||
it { expect(subject[0].order_place).to eq(two_new_type_de_champ['0'][:order_place]) }
|
||||
|
||||
it { expect(subject[1].libelle).to eq(types_de_champ_params['1'][:libelle]) }
|
||||
it { expect(subject[1].type_champs).to eq(types_de_champ_params['1'][:type]) }
|
||||
it { expect(subject[1].description).to eq(types_de_champ_params['1'][:description]) }
|
||||
it { expect(subject[1].order_place).to eq(types_de_champ_params['1'][:order_place]) }
|
||||
it { expect(subject[1].libelle).to eq(two_new_type_de_champ['1'][:libelle]) }
|
||||
it { expect(subject[1].type_champs).to eq(two_new_type_de_champ['1'][:type_champs]) }
|
||||
it { expect(subject[1].description).to eq(two_new_type_de_champ['1'][:description]) }
|
||||
it { expect(subject[1].order_place).to eq(two_new_type_de_champ['1'][:order_place]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when one of two types de champs have not a libelle' do
|
||||
let(:types_de_champ_params) { types_de_champ_params_errors }
|
||||
let(:new_type_de_champ) { two_new_type_de_champ_one_errors }
|
||||
|
||||
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||
end
|
||||
|
@ -191,32 +209,34 @@ describe Admin::ProceduresController, type: :controller do
|
|||
|
||||
describe 'type_de_piece_justificative processing' do
|
||||
before do
|
||||
post :create, procedure: procedure_params, type_de_piece_justificative: types_de_piece_justificative_params
|
||||
post :create, procedure: procedure_params
|
||||
end
|
||||
|
||||
subject { Procedure.last }
|
||||
|
||||
context 'when no type de piece justificative is filled' do
|
||||
let(:types_de_piece_justificative_params) { {} }
|
||||
let(:new_type_de_piece_justificative) { {} }
|
||||
it { expect(subject.types_de_piece_justificative.size).to eq(0) }
|
||||
end
|
||||
|
||||
context 'when two types de piece justificative are filled' do
|
||||
let(:new_type_de_piece_justificative) { two_new_types_de_piece_justificative }
|
||||
|
||||
it { expect(subject.types_de_piece_justificative.size).to eq(2) }
|
||||
|
||||
describe ' check types de piece justificative attributs present into database' do
|
||||
subject { TypeDePieceJustificative.all }
|
||||
|
||||
it { expect(subject[0].libelle).to eq(types_de_piece_justificative_params['0'][:libelle]) }
|
||||
it { expect(subject[0].description).to eq(types_de_piece_justificative_params['0'][:description]) }
|
||||
it { expect(subject[0].libelle).to eq(new_type_de_piece_justificative['0'][:libelle]) }
|
||||
it { expect(subject[0].description).to eq(new_type_de_piece_justificative['0'][:description]) }
|
||||
|
||||
it { expect(subject[1].libelle).to eq(types_de_piece_justificative_params['1'][:libelle]) }
|
||||
it { expect(subject[1].description).to eq(types_de_piece_justificative_params['1'][:description]) }
|
||||
it { expect(subject[1].libelle).to eq(new_type_de_piece_justificative['1'][:libelle]) }
|
||||
it { expect(subject[1].description).to eq(new_type_de_piece_justificative['1'][:description]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when one of two types de piece justificative have not a libelle' do
|
||||
let(:types_de_piece_justificative_params) { types_de_piece_justificative_params_errors }
|
||||
let(:new_type_de_piece_justificative) { two_new_types_de_piece_justificative_one_errors }
|
||||
|
||||
it { expect(subject.types_de_piece_justificative.size).to eq(1) }
|
||||
end
|
||||
|
@ -238,7 +258,7 @@ describe Admin::ProceduresController, type: :controller do
|
|||
|
||||
context 'when administrateur is connected' do
|
||||
before do
|
||||
put :update, id: procedure.id, procedure: procedure_params, type_de_champ: types_de_champ_params, type_de_piece_justificative: types_de_piece_justificative_params
|
||||
put :update, id: procedure.id, procedure: procedure_params
|
||||
procedure.reload
|
||||
end
|
||||
|
||||
|
@ -278,43 +298,46 @@ describe Admin::ProceduresController, type: :controller do
|
|||
subject { procedure }
|
||||
|
||||
context 'when no type de champs is filled' do
|
||||
let(:types_de_champ_params) { {} }
|
||||
let(:new_type_de_champ) { {} }
|
||||
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||
end
|
||||
|
||||
context 'when two types de champs are filled' do
|
||||
let(:new_type_de_champ) { two_new_type_de_champ }
|
||||
it { expect(subject.types_de_champ.size).to eq(3) }
|
||||
|
||||
describe ' check types de champs attributs added into database' do
|
||||
subject { procedure.types_de_champ }
|
||||
|
||||
it { expect(subject[1].libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||
it { expect(subject[1].type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||
it { expect(subject[1].description).to eq(types_de_champ_params['0'][:description]) }
|
||||
it { expect(subject[1].order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||
it { expect(subject[1].libelle).to eq(two_new_type_de_champ['0'][:libelle]) }
|
||||
it { expect(subject[1].type_champs).to eq(two_new_type_de_champ['0'][:type_champs]) }
|
||||
it { expect(subject[1].description).to eq(two_new_type_de_champ['0'][:description]) }
|
||||
it { expect(subject[1].order_place).to eq(two_new_type_de_champ['0'][:order_place]) }
|
||||
|
||||
it { expect(subject[2].libelle).to eq(types_de_champ_params['1'][:libelle]) }
|
||||
it { expect(subject[2].type_champs).to eq(types_de_champ_params['1'][:type]) }
|
||||
it { expect(subject[2].description).to eq(types_de_champ_params['1'][:description]) }
|
||||
it { expect(subject[2].order_place).to eq(types_de_champ_params['1'][:order_place]) }
|
||||
it { expect(subject[2].libelle).to eq(two_new_type_de_champ['1'][:libelle]) }
|
||||
it { expect(subject[2].type_champs).to eq(two_new_type_de_champ['1'][:type_champs]) }
|
||||
it { expect(subject[2].description).to eq(two_new_type_de_champ['1'][:description]) }
|
||||
it { expect(subject[2].order_place).to eq(two_new_type_de_champ['1'][:order_place]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when one of two types de champs have not a libelle' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:types_de_champ_params) { types_de_champ_params_errors }
|
||||
let(:new_type_de_champ) { two_new_type_de_champ_one_errors }
|
||||
|
||||
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||
end
|
||||
|
||||
context 'when user edit the filed' do
|
||||
let(:types_de_champ_params) {
|
||||
{'0' =>
|
||||
let(:type_de_champ_id) { procedure.types_de_champ.first.id }
|
||||
let(:types_de_champ) {
|
||||
{"#{type_de_champ_id}" =>
|
||||
{libelle: 'Champs de test editée',
|
||||
type: 'number',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
id_type_de_champ: procedure.types_de_champ.first.id}
|
||||
_destroy: 'false'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -323,22 +346,35 @@ describe Admin::ProceduresController, type: :controller do
|
|||
describe ' check types de champs attributs updated into database' do
|
||||
subject { procedure.types_de_champ.first }
|
||||
|
||||
it { expect(subject.libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||
it { expect(subject.type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||
it { expect(subject.description).to eq(types_de_champ_params['0'][:description]) }
|
||||
it { expect(subject.order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||
it { expect(subject.libelle).to eq(types_de_champ["#{type_de_champ_id}"][:libelle]) }
|
||||
it { expect(subject.type_champs).to eq(types_de_champ["#{type_de_champ_id}"][:type_champs]) }
|
||||
it { expect(subject.description).to eq(types_de_champ["#{type_de_champ_id}"][:description]) }
|
||||
it { expect(subject.order_place).to eq(types_de_champ["#{type_de_champ_id}"][:order_place]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when delete a type de champs' do
|
||||
let(:types_de_champ_params) {
|
||||
{'0' =>
|
||||
context 'when no delete a type de champs' do
|
||||
let(:types_de_champ) {
|
||||
{"#{procedure.types_de_champ.first.id}" =>
|
||||
{libelle: 'Champs de test editée',
|
||||
type: 'number',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_champ: procedure.types_de_champ.first.id}
|
||||
_destroy: 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||
end
|
||||
|
||||
context 'when delete a type de champs' do
|
||||
let(:types_de_champ) {
|
||||
{"#{procedure.types_de_champ.first.id}" =>
|
||||
{libelle: 'Champs de test editée',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
_destroy: 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -346,21 +382,23 @@ describe Admin::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when delete a type de champs present in database and a type champ not present in database' do
|
||||
let(:types_de_champ_params) {
|
||||
{'0' =>
|
||||
let(:types_de_champ) {
|
||||
{"#{procedure.types_de_champ.first.id}" =>
|
||||
{libelle: 'Champs de test editée',
|
||||
type: 'number',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_champ: procedure.types_de_champ.first.id},
|
||||
'1' =>
|
||||
_destroy: 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:new_type_de_champ) {
|
||||
{'1' =>
|
||||
{libelle: 'Champs de test editée',
|
||||
type: 'number',
|
||||
type_champs: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_champ: ''}
|
||||
order_place: 2,
|
||||
_destroy: 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -378,33 +416,32 @@ describe Admin::ProceduresController, type: :controller do
|
|||
|
||||
context 'when two types de piece justificative are filled' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:new_type_de_piece_justificative) { two_new_types_de_piece_justificative }
|
||||
it { expect(subject.types_de_piece_justificative.size).to eq(2) }
|
||||
|
||||
describe ' check types de piece justificative attributs added into database' do
|
||||
subject { procedure.types_de_piece_justificative }
|
||||
|
||||
it { expect(subject[0].libelle).to eq(types_de_piece_justificative_params['0'][:libelle]) }
|
||||
it { expect(subject[0].description).to eq(types_de_piece_justificative_params['0'][:description]) }
|
||||
it { expect(subject[0].libelle).to eq(new_type_de_piece_justificative['0'][:libelle]) }
|
||||
it { expect(subject[0].description).to eq(new_type_de_piece_justificative['0'][:description]) }
|
||||
|
||||
it { expect(subject[1].libelle).to eq(types_de_piece_justificative_params['1'][:libelle]) }
|
||||
it { expect(subject[1].description).to eq(types_de_piece_justificative_params['1'][:description]) }
|
||||
it { expect(subject[1].libelle).to eq(new_type_de_piece_justificative['1'][:libelle]) }
|
||||
it { expect(subject[1].description).to eq(new_type_de_piece_justificative['1'][:description]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when one of two types de piece justificative have not a libelle' do
|
||||
let(:types_de_piece_justificative_params) { types_de_piece_justificative_params_errors }
|
||||
let(:new_type_de_piece_justificative) { two_new_types_de_piece_justificative_one_errors }
|
||||
|
||||
it { expect(subject.types_de_piece_justificative.size).to eq(3) }
|
||||
end
|
||||
|
||||
context 'when one types de piece justificative is edit' do
|
||||
let(:types_de_piece_justificative_params) {
|
||||
{'0' =>
|
||||
let(:types_de_piece_justificative) {
|
||||
{"#{procedure.types_de_piece_justificative.first.id}" =>
|
||||
{libelle: 'PJ de test editée',
|
||||
type: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
id_type_de_piece_justificative: procedure.types_de_piece_justificative.first.id}
|
||||
'_destroy' => 'false'}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -413,20 +450,17 @@ describe Admin::ProceduresController, type: :controller do
|
|||
describe ' check types de piece justificative attributs updated into database' do
|
||||
subject { procedure.types_de_piece_justificative.first }
|
||||
|
||||
it { expect(subject.libelle).to eq(types_de_piece_justificative_params['0'][:libelle]) }
|
||||
it { expect(subject.description).to eq(types_de_piece_justificative_params['0'][:description]) }
|
||||
it { expect(subject.libelle).to eq(types_de_piece_justificative["#{procedure.types_de_piece_justificative.first.id}"][:libelle]) }
|
||||
it { expect(subject.description).to eq(types_de_piece_justificative["#{procedure.types_de_piece_justificative.first.id}"][:description]) }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when delete a type de piece justificative' do
|
||||
let(:types_de_piece_justificative_params) {
|
||||
{'0' =>
|
||||
let(:types_de_piece_justificative) {
|
||||
{"#{procedure.types_de_piece_justificative.first.id}" =>
|
||||
{libelle: 'PJ de test editée',
|
||||
type: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_piece_justificative: procedure.types_de_piece_justificative.first.id}
|
||||
'_destroy' => 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -434,21 +468,19 @@ describe Admin::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when delete a type de piece justificative present in database and a type piece justificative not present in database' do
|
||||
let(:types_de_piece_justificative_params) {
|
||||
{'0' =>
|
||||
let(:types_de_piece_justificative) {
|
||||
{"#{procedure.types_de_piece_justificative.first.id}" =>
|
||||
{libelle: 'PJ de test editée',
|
||||
type: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_piece_justificative: procedure.types_de_piece_justificative.first.id},
|
||||
'1' =>
|
||||
'_destroy' => 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
let(:new_type_de_piece_justificative) {
|
||||
{'1' =>
|
||||
{libelle: 'PJ de test editée',
|
||||
type: 'number',
|
||||
description: 'Description de test editée',
|
||||
order_place: 1,
|
||||
delete: 'true',
|
||||
id_type_de_piece_justificative: ''}
|
||||
'_destroy' => 'true'}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,12 +14,11 @@ feature 'add a new type de champs', js: true do
|
|||
|
||||
scenario 'page have form to created new type de champs' do
|
||||
expect(page).to have_css('#type_de_champ_0')
|
||||
expect(page).to have_css('input[name="type_de_champ[0][libelle]"]')
|
||||
expect(page).to have_css('select[name="type_de_champ[0][type]"]')
|
||||
expect(page).to have_css('textarea[name="type_de_champ[0][description]"]')
|
||||
expect(page).to have_css('input[name="type_de_champ[0][order_place]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_champ[0][id_type_de_champ]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_champ[0][delete]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[0]][libelle]"]')
|
||||
expect(page).to have_css('select[name="procedure[new_type_de_champ[0]][type_champs]"]')
|
||||
expect(page).to have_css('textarea[name="procedure[new_type_de_champ[0]][description]"]')
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[0]][order_place]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[0]][_destroy]"]', visible: false)
|
||||
|
||||
expect(page).to have_css('#order_type_de_champ_0_button', visible: false);
|
||||
expect(page).to have_css('#order_type_de_champ_0_up_procedure', visible: false);
|
||||
|
@ -30,19 +29,18 @@ feature 'add a new type de champs', js: true do
|
|||
|
||||
context 'when user add a new champs type' do
|
||||
before do
|
||||
page.find_by_id('type_de_champ_0').find_by_id('libelle').set 'Libelle de test'
|
||||
page.find_by_id('type_de_champ_0').find_by_id('description').set 'Description de test'
|
||||
page.find_by_id('procedure_new_type_de_champ_0__libelle').set 'Libelle de test'
|
||||
page.find_by_id('procedure_new_type_de_champ_0__description').set 'Description de test'
|
||||
page.click_on 'add_type_de_champ_procedure'
|
||||
end
|
||||
|
||||
scenario 'a new champs type line is appeared with increment index id' do
|
||||
expect(page).to have_css('#type_de_champ_1')
|
||||
expect(page).to have_css('input[name="type_de_champ[1][libelle]"]')
|
||||
expect(page).to have_css('select[name="type_de_champ[1][type]"]')
|
||||
expect(page).to have_css('textarea[name="type_de_champ[1][description]"]')
|
||||
expect(page).to have_css('input[name="type_de_champ[1][order_place]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_champ[1][id_type_de_champ]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_champ[1][delete]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[1]][libelle]"]')
|
||||
expect(page).to have_css('select[name="procedure[new_type_de_champ[1]][type_champs]"]')
|
||||
expect(page).to have_css('textarea[name="procedure[new_type_de_champ[1]][description]"]')
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[1]][order_place]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_champ[1]][_destroy]"]', visible: false)
|
||||
|
||||
expect(page).to have_css('#order_type_de_champ_1_button', visible: false);
|
||||
expect(page).to have_css('#order_type_de_champ_1_up_procedure', visible: false);
|
||||
|
@ -50,9 +48,9 @@ feature 'add a new type de champs', js: true do
|
|||
end
|
||||
|
||||
scenario 'the first line is filled' do
|
||||
expect(page.find_by_id('type_de_champ_0').find_by_id('libelle').value).to eq('Libelle de test')
|
||||
expect(page.find_by_id('type_de_champ_0').find_by_id('description').value).to eq('Description de test')
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('1')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_0__libelle').value).to eq('Libelle de test')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_0__description').value).to eq('Description de test')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_0__order_place', visible: false).value).to eq('1')
|
||||
end
|
||||
|
||||
scenario 'the first line have new button delete' do
|
||||
|
@ -61,11 +59,10 @@ feature 'add a new type de champs', js: true do
|
|||
end
|
||||
|
||||
scenario 'the new line is empty' do
|
||||
expect(page.find_by_id('type_de_champ_1').find_by_id('libelle').value).to eq('')
|
||||
expect(page.find_by_id('type_de_champ_1').find_by_id('description').value).to eq('')
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2')
|
||||
expect(page.find_by_id('type_de_champ_1').find_by_id('id_type_de_champ', visible: false).value).to eq('')
|
||||
expect(page.find_by_id('type_de_champ_1').find_by_id('delete', visible: false).value).to eq('false')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_1__libelle').value).to eq('')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_1__description').value).to eq('')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_1__order_place', visible: false).value).to eq('2')
|
||||
expect(page.find_by_id('procedure_new_type_de_champ_1___destroy', visible: false).value).to eq('false')
|
||||
end
|
||||
|
||||
scenario 'the button Ajouter is at side new line' do
|
||||
|
|
|
@ -14,39 +14,36 @@ feature 'add a new type de piece justificative', js: true do
|
|||
|
||||
scenario 'page have form to created new type de piece justificative' do
|
||||
expect(page).to have_css('#type_de_piece_justificative_0')
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[0][libelle]"]')
|
||||
expect(page).to have_css('textarea[name="type_de_piece_justificative[0][description]"]')
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[0][id_type_de_piece_justificative]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[0][delete]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_piece_justificative[0]][libelle]"]')
|
||||
expect(page).to have_css('textarea[name="procedure[new_type_de_piece_justificative[0]][description]"]')
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_piece_justificative[0]][_destroy]"]', visible: false)
|
||||
|
||||
expect(page).to have_css('#new_type_de_piece_justificative #add_type_de_piece_justificative_button')
|
||||
end
|
||||
|
||||
context 'when user add a new piece justificative type' do
|
||||
before do
|
||||
page.find_by_id('type_de_piece_justificative_0').find_by_id('libelle').set 'Libelle de test'
|
||||
page.find_by_id('type_de_piece_justificative_0').find_by_id('description').set 'Description de test'
|
||||
page.find_by_id('procedure_new_type_de_piece_justificative_0__libelle').set 'Libelle de test'
|
||||
page.find_by_id('procedure_new_type_de_piece_justificative_0__description').set 'Description de test'
|
||||
page.click_on 'add_type_de_piece_justificative_procedure'
|
||||
end
|
||||
|
||||
scenario 'a new piece justificative type line is appeared with increment index id' do
|
||||
expect(page).to have_css('#type_de_piece_justificative_1')
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[1][libelle]"]')
|
||||
expect(page).to have_css('textarea[name="type_de_piece_justificative[1][description]"]')
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[1][id_type_de_piece_justificative]"]', visible: false)
|
||||
expect(page).to have_css('input[name="type_de_piece_justificative[1][delete]"]', visible: false)
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_piece_justificative[1]][libelle]"]')
|
||||
expect(page).to have_css('textarea[name="procedure[new_type_de_piece_justificative[1]][description]"]')
|
||||
expect(page).to have_css('input[name="procedure[new_type_de_piece_justificative[1]][_destroy]"]', visible: false)
|
||||
end
|
||||
|
||||
scenario 'the first line is filled' do
|
||||
expect(page.find_by_id('type_de_piece_justificative_0').find_by_id('libelle').value).to eq('Libelle de test')
|
||||
expect(page.find_by_id('type_de_piece_justificative_0').find_by_id('description').value).to eq('Description de test')
|
||||
expect(page.find_by_id('procedure_new_type_de_piece_justificative_0__libelle').value).to eq('Libelle de test')
|
||||
expect(page.find_by_id('procedure_new_type_de_piece_justificative_0__description').value).to eq('Description de test')
|
||||
end
|
||||
|
||||
scenario 'the new line is empty' do
|
||||
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('libelle').value).to eq('')
|
||||
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('description').value).to eq('')
|
||||
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('id_type_de_piece_justificative', visible: false).value).to eq('')
|
||||
expect(page.find_by_id('type_de_piece_justificative_1').find_by_id('delete', visible: false).value).to eq('false')
|
||||
expect(page.find_by_id('procedure_new_type_de_piece_justificative_1__libelle').value).to eq('')
|
||||
expect(page.find_by_id('procedure_new_type_de_piece_justificative_1__description').value).to eq('')
|
||||
expect(page.find_by_id('procedure_new_type_de_piece_justificative_1___destroy', visible: false).value).to eq('false')
|
||||
end
|
||||
|
||||
scenario 'the button Ajouter is at side new line' do
|
||||
|
|
|
@ -27,15 +27,15 @@ feature 'config up and down button display', js: true do
|
|||
visit admin_procedure_path id: procedure.id
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_0_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_0_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_1 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_2_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'when procedure have two type de champs' do
|
||||
|
@ -46,20 +46,20 @@ feature 'config up and down button display', js: true do
|
|||
visit admin_procedure_path id: procedure.id
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_0_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||
scenario 'type_de_champ_1 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure').visible?).to be_truthy
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_1 have up button visible and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure', visible: false).visible?).to be_falsey
|
||||
scenario 'type_de_champ_2 have up button visible and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_2_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_3 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_3_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_3_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'when procedure have two type de champs into database and one type de champs add to form' do
|
||||
|
@ -71,25 +71,25 @@ feature 'config up and down button display', js: true do
|
|||
page.click_on 'add_type_de_champ_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_0_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_1 have up button and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||
scenario 'type_de_champ_1 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure').visible?).to be_truthy
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 have up visible and down button not visible' do
|
||||
scenario 'type_de_champ_2 have up button and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_2_down_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_2_down_procedure').visible?).to be_truthy
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_3 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_3_up_procedure', visible: false).visible?).to be_falsey
|
||||
scenario 'type_de_champ_3 have up visible and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_3_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_3_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_4 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_4_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_4_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
context 'when procedure have two type de champs into database and one type de champs add to form and delete one type_de_champ' do
|
||||
|
@ -99,27 +99,27 @@ feature 'config up and down button display', js: true do
|
|||
before do
|
||||
visit admin_procedure_path id: procedure.id
|
||||
page.click_on 'add_type_de_champ_procedure'
|
||||
page.click_on 'delete_type_de_champ_2_procedure'
|
||||
page.click_on 'delete_type_de_champ_3_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_0_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||
scenario 'type_de_champ_1 have not up visible and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure').visible?).to be_truthy
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_1 have up button visible and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_1_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 have up and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure', visible: false).visible?).to be_falsey
|
||||
scenario 'type_de_champ_2 have up button visible and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_2_up_procedure').visible?).to be_truthy
|
||||
expect(page.find_by_id('order_type_de_champ_2_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_3 have not up and down button visible' do
|
||||
scenario 'type_de_champ_3 have up and down button not visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_3_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_3_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_4 have not up and down button visible' do
|
||||
expect(page.find_by_id('order_type_de_champ_4_up_procedure', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('order_type_de_champ_4_down_procedure', visible: false).visible?).to be_falsey
|
||||
end
|
||||
end
|
||||
end
|
|
@ -18,19 +18,19 @@ feature 'delete a type de champs form', js: true do
|
|||
let(:type_de_champ) { procedure.types_de_champ.first }
|
||||
|
||||
before do
|
||||
page.click_on 'delete_type_de_champ_0_procedure'
|
||||
page.click_on 'delete_type_de_champ_1_procedure'
|
||||
end
|
||||
|
||||
scenario 'form is mask for the user' do
|
||||
expect(page.find_by_id('type_de_champ_0', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('type_de_champ_1', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'delete attribut of type de champs is turn to true' do
|
||||
expect(page.find_by_id('type_de_champ_0', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_champ_1', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
end
|
||||
|
||||
scenario 'attribut node is to move into div liste_delete_champ' do
|
||||
expect(page).to have_css('#liste_delete_champ #type_de_champ_0', visible: false)
|
||||
expect(page).to have_css('#liste_delete_champ #type_de_champ_1', visible: false)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -41,39 +41,39 @@ feature 'delete a type de champs form', js: true do
|
|||
page.click_on 'add_type_de_champ_procedure'
|
||||
page.click_on 'add_type_de_champ_procedure'
|
||||
page.click_on 'add_type_de_champ_procedure'
|
||||
page.click_on 'delete_type_de_champ_1_procedure'
|
||||
page.click_on 'delete_type_de_champ_2_procedure'
|
||||
page.click_on 'delete_type_de_champ_3_procedure'
|
||||
end
|
||||
|
||||
scenario 'form is mask for the user' do
|
||||
expect(page.find_by_id('type_de_champ_1', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('type_de_champ_2', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('type_de_champ_3', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'delete attribut of type de champs is turn to true' do
|
||||
expect(page.find_by_id('type_de_champ_1', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_champ_2', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_champ_2', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_champ_3', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
end
|
||||
|
||||
scenario 'attribut node is to move into div liste_delete_champ' do
|
||||
expect(page).to have_css('#liste_delete_champ #type_de_champ_1', visible: false)
|
||||
expect(page).to have_css('#liste_delete_champ #type_de_champ_2', visible: false)
|
||||
expect(page).to have_css('#liste_delete_champ #type_de_champ_3', visible: false)
|
||||
end
|
||||
|
||||
scenario 'order_place type_de_champ_0_procedure is 1' do
|
||||
expect(page.find_by_id('type_de_champ_0').find("input[class='order_place']", visible: false).value).to eq('1')
|
||||
scenario 'order_place type_de_champ_1_procedure is 1' do
|
||||
expect(page.find_by_id('type_de_champ_1').find("input[class='order_place']", visible: false).value).to eq('1')
|
||||
end
|
||||
|
||||
scenario 'order_place type_de_champ_3_procedure is 2' do
|
||||
expect(page.find_by_id('type_de_champ_3').find("input[class='order_place']", visible: false).value).to eq('2')
|
||||
scenario 'order_place type_de_champ_4_procedure is 2' do
|
||||
expect(page.find_by_id('type_de_champ_4').find("input[class='order_place']", visible: false).value).to eq('2')
|
||||
end
|
||||
|
||||
scenario 'order_place type_de_champ_4_procedure is 3' do
|
||||
expect(page.find_by_id('type_de_champ_4').find("input[class='order_place']", visible: false).value).to eq('3')
|
||||
scenario 'order_place type_de_champ_5_procedure is 3' do
|
||||
expect(page.find_by_id('type_de_champ_5').find("input[class='order_place']", visible: false).value).to eq('3')
|
||||
end
|
||||
|
||||
scenario 'order_place type_de_champ_5_procedure is 4' do
|
||||
expect(page.find_by_id('type_de_champ_5').find("input[class='order_place']", visible: false).value).to eq('4')
|
||||
scenario 'order_place type_de_champ_6_procedure is 4' do
|
||||
expect(page.find_by_id('type_de_champ_6').find("input[class='order_place']", visible: false).value).to eq('4')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,15 +18,15 @@ feature 'delete a type de piece_justificative form', js: true do
|
|||
let(:type_de_piece_justificative) { procedure.types_de_piece_justificative.first }
|
||||
|
||||
before do
|
||||
page.click_on 'delete_type_de_piece_justificative_0_procedure'
|
||||
page.click_on 'delete_type_de_piece_justificative_1_procedure'
|
||||
end
|
||||
|
||||
scenario 'form is mask for the user' do
|
||||
expect(page.find_by_id('type_de_piece_justificative_0', visible: false).visible?).to be_falsey
|
||||
expect(page.find_by_id('type_de_piece_justificative_1', visible: false).visible?).to be_falsey
|
||||
end
|
||||
|
||||
scenario 'delete attribut of type de piece_justificative is turn to true' do
|
||||
expect(page.find_by_id('type_de_piece_justificative_0', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_piece_justificative_1', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -44,8 +44,8 @@ feature 'delete a type de piece_justificative form', js: true do
|
|||
end
|
||||
|
||||
scenario 'delete attribut of type de piece_justificative is turn to true' do
|
||||
expect(page.find_by_id('type_de_piece_justificative_2', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_piece_justificative_3', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_piece_justificative_2', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
expect(page.find_by_id('type_de_piece_justificative_3', visible: false).find('input[class="destroy"]', visible: false).value).to eq('true')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,12 +17,12 @@ feature 'move down button type de champs', js: true do
|
|||
|
||||
context 'when procedure have two type de champs' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_0_down_procedure'
|
||||
page.click_on 'order_type_de_champ_1_down_procedure'
|
||||
end
|
||||
|
||||
scenario 'it inverse the twice type de champs' do
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -33,43 +33,43 @@ feature 'move down button type de champs', js: true do
|
|||
page.click_on 'add_type_de_champ_procedure'
|
||||
end
|
||||
|
||||
context 'when to click on down_button type_de_champ_1' do
|
||||
context 'when to click on down_button type_de_champ_2' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_1_down_procedure'
|
||||
page.click_on 'order_type_de_champ_2_down_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_1 and type_de_champ_2 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_2 and type_de_champ_3 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_3' do
|
||||
context 'when to click on up_button type_de_champ_4' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_3_down_procedure'
|
||||
page.click_on 'order_type_de_champ_4_down_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_3 and type_de_champ_4 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_4 and type_de_champ_5 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_0' do
|
||||
context 'when to click on up_button type_de_champ_1' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_0_down_procedure'
|
||||
page.click_on 'order_type_de_champ_1_down_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 and type_de_champ_2 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_1 and type_de_champ_3 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,47 +22,47 @@ feature 'move up and down button type de champs', js: true do
|
|||
page.click_on 'add_type_de_champ_procedure'
|
||||
end
|
||||
#
|
||||
context 'when to click on up_button type_de_champ_1 and down_button type_de_champ_0' do
|
||||
context 'when to click on up_button type_de_champ_2 and down_button type_de_champ_1' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_1_up_procedure'
|
||||
page.click_on 'order_type_de_champ_0_down_procedure'
|
||||
page.click_on 'order_type_de_champ_2_up_procedure'
|
||||
page.click_on 'order_type_de_champ_1_down_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 is at order place 3 and type_de_champ_1 is at order place 1 ' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_1 is at order place 3 and type_de_champ_2 is at order place 1 ' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on down_button type_de_champ_3 and up_button type_de_champ_4' do
|
||||
context 'when to click on down_button type_de_champ_4 and up_button type_de_champ_5' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_3_down_procedure'
|
||||
page.click_on 'order_type_de_champ_4_up_procedure'
|
||||
page.click_on 'order_type_de_champ_4_down_procedure'
|
||||
page.click_on 'order_type_de_champ_5_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 and type_de_champ_3 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_2 and down_button type_de_champ_0 and up_button type_de_champ_4' do
|
||||
context 'when to click on up_button type_de_champ_3 and down_button type_de_champ_1 and up_button type_de_champ_5' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_2_up_procedure'
|
||||
page.click_on 'order_type_de_champ_0_down_procedure'
|
||||
page.click_on 'order_type_de_champ_4_up_procedure'
|
||||
page.click_on 'order_type_de_champ_3_up_procedure'
|
||||
page.click_on 'order_type_de_champ_1_down_procedure'
|
||||
page.click_on 'order_type_de_champ_5_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 and type_de_champ_4 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,12 +18,12 @@ feature 'move up button type de champs', js: true do
|
|||
|
||||
context 'when procedure have two type de champs' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_1_up_procedure'
|
||||
page.click_on 'order_type_de_champ_2_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'it inverse the twice type de champs' do
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -34,43 +34,43 @@ feature 'move up button type de champs', js: true do
|
|||
page.click_on 'add_type_de_champ_procedure'
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_1' do
|
||||
context 'when to click on up_button type_de_champ_2' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_1_up_procedure'
|
||||
page.click_on 'order_type_de_champ_2_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_0 and type_de_champ_1 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_1 and type_de_champ_2 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_3' do
|
||||
context 'when to click on up_button type_de_champ_4' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_3_up_procedure'
|
||||
page.click_on 'order_type_de_champ_4_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 and type_de_champ_3 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_3 and type_de_champ_4 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
|
||||
context 'when to click on up_button type_de_champ_4' do
|
||||
context 'when to click on up_button type_de_champ_5' do
|
||||
before do
|
||||
page.click_on 'order_type_de_champ_4_up_procedure'
|
||||
page.click_on 'order_type_de_champ_5_up_procedure'
|
||||
end
|
||||
|
||||
scenario 'type_de_champ_2 and type_de_champ_4 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
scenario 'type_de_champ_3 and type_de_champ_5 is reversed' do
|
||||
expect(page.find_by_id('type_de_champ_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
||||
expect(page.find_by_id('type_de_champ_1').find('input[class="order_place"]', visible: false).value).to eq('2');
|
||||
expect(page.find_by_id('type_de_champ_4').find('input[class="order_place"]', visible: false).value).to eq('3');
|
||||
expect(page.find_by_id('type_de_champ_5').find('input[class="order_place"]', visible: false).value).to eq('4');
|
||||
expect(page.find_by_id('type_de_champ_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue