Rename TypeDeChamps to TypeDeChamp
This commit is contained in:
parent
519af34c82
commit
f3d8645426
34 changed files with 644 additions and 634 deletions
|
@ -1,14 +1,14 @@
|
||||||
var ready = function () {
|
var ready = function () {
|
||||||
$("#add_type_de_champs_procedure").on('click', function (e) {
|
$("#add_type_de_champ_procedure").on('click', function (e) {
|
||||||
add_new_type_de('champs');
|
add_new_type_de('champ');
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#add_type_de_piece_justificative_procedure").on('click', function (e) {
|
$("#add_type_de_piece_justificative_procedure").on('click', function (e) {
|
||||||
add_new_type_de('piece_justificative');
|
add_new_type_de('piece_justificative');
|
||||||
});
|
});
|
||||||
|
|
||||||
add_delete_listener_on_click_for_type_de("champs", "#liste_champs .btn-danger");
|
add_delete_listener_on_click_for_type_de("champ", "#liste_champ .btn-danger");
|
||||||
add_delete_listener_on_click_for_type_de("champs", "#new_type_de_champs .btn-danger");
|
add_delete_listener_on_click_for_type_de("champ", "#new_type_de_champ .btn-danger");
|
||||||
|
|
||||||
add_delete_listener_on_click_for_type_de("piece_justificative", "#liste_piece_justificative .btn-danger");
|
add_delete_listener_on_click_for_type_de("piece_justificative", "#liste_piece_justificative .btn-danger");
|
||||||
add_delete_listener_on_click_for_type_de("piece_justificative", "#new_type_de_piece_justificative .btn-danger");
|
add_delete_listener_on_click_for_type_de("piece_justificative", "#new_type_de_piece_justificative .btn-danger");
|
||||||
|
@ -35,16 +35,16 @@ function add_new_type_de(type_libelle) {
|
||||||
PJ = 1,
|
PJ = 1,
|
||||||
ERROR = -1;
|
ERROR = -1;
|
||||||
|
|
||||||
if (is_champs_or_pj() == ERROR) return false;
|
if (is_champ_or_pj() == ERROR) return false;
|
||||||
|
|
||||||
function is_champs_or_pj() {
|
function is_champ_or_pj() {
|
||||||
if (type_libelle == 'champs') return CHAMPS;
|
if (type_libelle == 'champ') return CHAMPS;
|
||||||
else if (type_libelle == 'piece_justificative') return PJ;
|
else if (type_libelle == 'piece_justificative') return PJ;
|
||||||
else return ERROR;
|
else return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
function which_index() {
|
function which_index() {
|
||||||
return (is_champs_or_pj() == CHAMPS ? types_de_champs_index : types_de_piece_justificative_index)
|
return (is_champ_or_pj() == CHAMPS ? types_de_champ_index : types_de_piece_justificative_index)
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#liste_" + type_libelle).append($("#type_de_" + type_libelle + "_" + which_index()));
|
$("#liste_" + type_libelle).append($("#type_de_" + type_libelle + "_" + which_index()));
|
||||||
|
@ -52,11 +52,11 @@ function add_new_type_de(type_libelle) {
|
||||||
|
|
||||||
$("#delete_type_de_" + type_libelle + "_" + which_index() + "_button").show();
|
$("#delete_type_de_" + type_libelle + "_" + which_index() + "_button").show();
|
||||||
|
|
||||||
if (is_champs_or_pj() == CHAMPS) {
|
if (is_champ_or_pj() == CHAMPS) {
|
||||||
types_de_champs_index++;
|
types_de_champ_index++;
|
||||||
add_new_type_de_champs_params(which_index());
|
add_new_type_de_champ_params(which_index());
|
||||||
}
|
}
|
||||||
else if (is_champs_or_pj() == PJ) {
|
else if (is_champ_or_pj() == PJ) {
|
||||||
types_de_piece_justificative_index++;
|
types_de_piece_justificative_index++;
|
||||||
add_new_type_de_piece_justificative_params(which_index());
|
add_new_type_de_piece_justificative_params(which_index());
|
||||||
}
|
}
|
||||||
|
@ -72,9 +72,9 @@ function add_new_type_de(type_libelle) {
|
||||||
$("#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) + "_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");
|
$("#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_champs_or_pj() == CHAMPS)
|
if (is_champ_or_pj() == CHAMPS)
|
||||||
add_delete_listener_on_click_for_type_de("champs", "#delete_type_de_champs_" + which_index() + "_procedure");
|
add_delete_listener_on_click_for_type_de("champ", "#delete_type_de_champ_" + which_index() + "_procedure");
|
||||||
else if (is_champs_or_pj() == PJ)
|
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");
|
add_delete_listener_on_click_for_type_de("piece_justificative", "#delete_type_de_piece_justificative_" + which_index() + "_procedure");
|
||||||
|
|
||||||
$("#new_type_de_" + type_libelle + " #add_type_de_" + type_libelle + "_button").remove();
|
$("#new_type_de_" + type_libelle + " #add_type_de_" + type_libelle + "_button").remove();
|
||||||
|
@ -86,21 +86,21 @@ function add_new_type_de(type_libelle) {
|
||||||
config_up_and_down_button();
|
config_up_and_down_button();
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_new_type_de_champs_params() {
|
function add_new_type_de_champ_params() {
|
||||||
$("#new_type_de_champs #libelle").attr('name', 'type_de_champs[' + types_de_champs_index + '][libelle]');
|
$("#new_type_de_champ #libelle").attr('name', 'type_de_champ[' + types_de_champ_index + '][libelle]');
|
||||||
$("#new_type_de_champs #libelle").val('');
|
$("#new_type_de_champ #libelle").val('');
|
||||||
|
|
||||||
$("#new_type_de_champs #description").attr('name', 'type_de_champs[' + types_de_champs_index + '][description]');
|
$("#new_type_de_champ #description").attr('name', 'type_de_champ[' + types_de_champ_index + '][description]');
|
||||||
$("#new_type_de_champs #description").val('');
|
$("#new_type_de_champ #description").val('');
|
||||||
|
|
||||||
$("#new_type_de_champs #type_champs").attr('name', 'type_de_champs[' + types_de_champs_index + '][type]');
|
$("#new_type_de_champ #type_champs").attr('name', 'type_de_champ[' + types_de_champ_index + '][type]');
|
||||||
|
|
||||||
$("#new_type_de_champs .order_place").attr('name', 'type_de_champs[' + types_de_champs_index + '][order_place]');
|
$("#new_type_de_champ .order_place").attr('name', 'type_de_champ[' + types_de_champ_index + '][order_place]');
|
||||||
$("#new_type_de_champs .order_place").val(parseInt($("#liste_champs .order_place").last().val()) + 1);
|
$("#new_type_de_champ .order_place").val(parseInt($("#liste_champ .order_place").last().val()) + 1);
|
||||||
|
|
||||||
$("#new_type_de_champs .order_type_de_champs_button").attr('id', 'order_type_de_champs_' + types_de_champs_index + '_button')
|
$("#new_type_de_champ .order_type_de_champ_button").attr('id', 'order_type_de_champ_' + types_de_champ_index + '_button')
|
||||||
$("#new_type_de_champs .order_type_de_champs_button .button_up").attr('id', 'order_type_de_champs_' + types_de_champs_index + '_up_procedure')
|
$("#new_type_de_champ .order_type_de_champ_button .button_up").attr('id', 'order_type_de_champ_' + types_de_champ_index + '_up_procedure')
|
||||||
$("#new_type_de_champs .order_type_de_champs_button .button_down").attr('id', 'order_type_de_champs_' + types_de_champs_index + '_down_procedure')
|
$("#new_type_de_champ .order_type_de_champ_button .button_down").attr('id', 'order_type_de_champ_' + types_de_champ_index + '_down_procedure')
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_new_type_de_piece_justificative_params() {
|
function add_new_type_de_piece_justificative_params() {
|
||||||
|
@ -117,57 +117,57 @@ function delete_type_de(type_libelle, index) {
|
||||||
$("#liste_delete_" + type_libelle).append(delete_node);
|
$("#liste_delete_" + type_libelle).append(delete_node);
|
||||||
$("#type_de_" + type_libelle + "_" + index + " #delete").val('true');
|
$("#type_de_" + type_libelle + "_" + index + " #delete").val('true');
|
||||||
|
|
||||||
if (type_libelle == 'champs') {
|
if (type_libelle == 'champ') {
|
||||||
var next_order_place = parseInt($("#type_de_" + type_libelle + "_" + index + " .order_place").val());
|
var next_order_place = parseInt($("#type_de_" + type_libelle + "_" + index + " .order_place").val());
|
||||||
var type_de_champs_to_change_order_place = $("#liste_champs .order_place");
|
var type_de_champ_to_change_order_place = $("#liste_champ .order_place");
|
||||||
|
|
||||||
type_de_champs_to_change_order_place.each(function () {
|
type_de_champ_to_change_order_place.each(function () {
|
||||||
if ($(this).val() > next_order_place) {
|
if ($(this).val() > next_order_place) {
|
||||||
$(this).val(next_order_place++);
|
$(this).val(next_order_place++);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$("#new_type_de_champs .order_place").val(next_order_place);
|
$("#new_type_de_champ .order_place").val(next_order_place);
|
||||||
|
|
||||||
config_up_and_down_button();
|
config_up_and_down_button();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function config_up_and_down_button() {
|
function config_up_and_down_button() {
|
||||||
if ($("#liste_champs .order_place").size() > 0) {
|
if ($("#liste_champ .order_place").size() > 0) {
|
||||||
var first_index = $("#liste_champs .order_place").first()
|
var first_index = $("#liste_champ .order_place").first()
|
||||||
.attr('name')
|
.attr('name')
|
||||||
.replace('type_de_champs[', '')
|
.replace('type_de_champ[', '')
|
||||||
.replace('][order_place]', '');
|
.replace('][order_place]', '');
|
||||||
|
|
||||||
var last_index = $("#liste_champs .order_place").last()
|
var last_index = $("#liste_champ .order_place").last()
|
||||||
.attr('name')
|
.attr('name')
|
||||||
.replace('type_de_champs[', '')
|
.replace('type_de_champ[', '')
|
||||||
.replace('][order_place]', '');
|
.replace('][order_place]', '');
|
||||||
|
|
||||||
$(".button_up").show();
|
$(".button_up").show();
|
||||||
$(".button_down").show();
|
$(".button_down").show();
|
||||||
$("#liste_champs .order_type_de_champs_button").show();
|
$("#liste_champ .order_type_de_champ_button").show();
|
||||||
|
|
||||||
$("#order_type_de_champs_" + first_index + "_up_procedure").hide();
|
$("#order_type_de_champ_" + first_index + "_up_procedure").hide();
|
||||||
$("#order_type_de_champs_" + last_index + "_down_procedure").hide();
|
$("#order_type_de_champ_" + last_index + "_down_procedure").hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_action_listener_on_click_for_button_up(node_id) {
|
function add_action_listener_on_click_for_button_up(node_id) {
|
||||||
$(node_id).on('click', function (e) {
|
$(node_id).on('click', function (e) {
|
||||||
var index = (e.target.id).replace('order_type_de_champs_', '').replace('_up_procedure', '');
|
var index = (e.target.id).replace('order_type_de_champ_', '').replace('_up_procedure', '');
|
||||||
var order_place = parseInt($("#type_de_champs_" + index + " .order_place").val());
|
var order_place = parseInt($("#type_de_champ_" + index + " .order_place").val());
|
||||||
var order_place_before = order_place - 1;
|
var order_place_before = order_place - 1;
|
||||||
|
|
||||||
var node_before = $("input[class='order_place'][value='" + order_place_before + "']").parent();
|
var node_before = $("input[class='order_place'][value='" + order_place_before + "']").parent();
|
||||||
|
|
||||||
var index_before = (node_before.attr('id')).replace('type_de_champs_', '');
|
var index_before = (node_before.attr('id')).replace('type_de_champ_', '');
|
||||||
|
|
||||||
$("#type_de_champs_" + index).insertBefore("#type_de_champs_" + index_before);
|
$("#type_de_champ_" + index).insertBefore("#type_de_champ_" + index_before);
|
||||||
$("#type_de_champs_" + index_before);
|
$("#type_de_champ_" + index_before);
|
||||||
|
|
||||||
$("#type_de_champs_" + index_before + " .order_place").val(order_place);
|
$("#type_de_champ_" + index_before + " .order_place").val(order_place);
|
||||||
$("#type_de_champs_" + index + " .order_place").val(order_place_before);
|
$("#type_de_champ_" + index + " .order_place").val(order_place_before);
|
||||||
|
|
||||||
config_up_and_down_button();
|
config_up_and_down_button();
|
||||||
});
|
});
|
||||||
|
@ -175,19 +175,19 @@ function add_action_listener_on_click_for_button_up(node_id) {
|
||||||
|
|
||||||
function add_action_listener_on_click_for_button_down(node_id) {
|
function add_action_listener_on_click_for_button_down(node_id) {
|
||||||
$(node_id).on('click', function (e) {
|
$(node_id).on('click', function (e) {
|
||||||
var index = (e.target.id).replace('order_type_de_champs_', '').replace('_down_procedure', '');
|
var index = (e.target.id).replace('order_type_de_champ_', '').replace('_down_procedure', '');
|
||||||
var order_place = parseInt($("#type_de_champs_" + index + " .order_place").val());
|
var order_place = parseInt($("#type_de_champ_" + index + " .order_place").val());
|
||||||
var order_place_after = order_place + 1;
|
var order_place_after = order_place + 1;
|
||||||
|
|
||||||
var node_after = $("input[class='order_place'][value='" + order_place_after + "']").parent();
|
var node_after = $("input[class='order_place'][value='" + order_place_after + "']").parent();
|
||||||
|
|
||||||
var index_after = (node_after.attr('id')).replace('type_de_champs_', '');
|
var index_after = (node_after.attr('id')).replace('type_de_champ_', '');
|
||||||
|
|
||||||
$("#type_de_champs_" + index).insertAfter("#type_de_champs_" + index_after);
|
$("#type_de_champ_" + index).insertAfter("#type_de_champ_" + index_after);
|
||||||
$("#type_de_champs_" + index_after);
|
$("#type_de_champ_" + index_after);
|
||||||
|
|
||||||
$("#type_de_champs_" + index_after + " .order_place").val(order_place);
|
$("#type_de_champ_" + index_after + " .order_place").val(order_place);
|
||||||
$("#type_de_champs_" + index + " .order_place").val(order_place_after);
|
$("#type_de_champ_" + index + " .order_place").val(order_place_after);
|
||||||
|
|
||||||
config_up_and_down_button();
|
config_up_and_down_button();
|
||||||
});
|
});
|
||||||
|
|
|
@ -24,7 +24,7 @@ class Admin::ProceduresController < ApplicationController
|
||||||
return render 'new'
|
return render 'new'
|
||||||
end
|
end
|
||||||
|
|
||||||
process_types_de_champs_params
|
process_types_de_champ_params
|
||||||
process_types_de_piece_justificative_params
|
process_types_de_piece_justificative_params
|
||||||
|
|
||||||
flash.notice = 'Procédure enregistrée'
|
flash.notice = 'Procédure enregistrée'
|
||||||
|
@ -39,7 +39,7 @@ class Admin::ProceduresController < ApplicationController
|
||||||
return render 'show'
|
return render 'show'
|
||||||
end
|
end
|
||||||
|
|
||||||
process_types_de_champs_params
|
process_types_de_champ_params
|
||||||
process_types_de_piece_justificative_params
|
process_types_de_piece_justificative_params
|
||||||
|
|
||||||
flash.notice = 'Préocédure modifiée'
|
flash.notice = 'Préocédure modifiée'
|
||||||
|
@ -48,22 +48,22 @@ class Admin::ProceduresController < ApplicationController
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def process_types_de_champs_params
|
def process_types_de_champ_params
|
||||||
unless params[:type_de_champs].nil? || params[:type_de_champs].size == 0
|
unless params[:type_de_champ].nil? || params[:type_de_champ].size == 0
|
||||||
params[:type_de_champs].each do |index, type_de_champs|
|
params[:type_de_champ].each do |index, type_de_champ|
|
||||||
|
|
||||||
if type_de_champs[:delete] == 'true'
|
if type_de_champ[:delete] == 'true'
|
||||||
unless type_de_champs[:id_type_de_champs].nil? || type_de_champs[:id_type_de_champs] == ''
|
unless type_de_champ[:id_type_de_champ].nil? || type_de_champ[:id_type_de_champ] == ''
|
||||||
TypeDeChamps.destroy(type_de_champs[:id_type_de_champs])
|
TypeDeChamp.destroy(type_de_champ[:id_type_de_champ])
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if type_de_champs[:id_type_de_champs].nil? || type_de_champs[:id_type_de_champs] == ''
|
if type_de_champ[:id_type_de_champ].nil? || type_de_champ[:id_type_de_champ] == ''
|
||||||
bdd_object = TypeDeChamps.new
|
bdd_object = TypeDeChamp.new
|
||||||
else
|
else
|
||||||
bdd_object = TypeDeChamps.find(type_de_champs[:id_type_de_champs])
|
bdd_object = TypeDeChamp.find(type_de_champ[:id_type_de_champ])
|
||||||
end
|
end
|
||||||
|
|
||||||
save_type_de_champs bdd_object, type_de_champs
|
save_type_de_champ bdd_object, type_de_champ
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -90,7 +90,7 @@ class Admin::ProceduresController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def save_type_de_champs database_object, source
|
def save_type_de_champ database_object, source
|
||||||
database_object.libelle = source[:libelle]
|
database_object.libelle = source[:libelle]
|
||||||
database_object.type_champs = source[:type]
|
database_object.type_champs = source[:type]
|
||||||
database_object.description = source[:description]
|
database_object.description = source[:description]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Champ < ActiveRecord::Base
|
class Champ < ActiveRecord::Base
|
||||||
belongs_to :dossier
|
belongs_to :dossier
|
||||||
belongs_to :type_de_champs
|
belongs_to :type_de_champ
|
||||||
delegate :libelle, :type_champs, :order_place, to: :type_de_champs
|
delegate :libelle, :type_champs, :order_place, to: :type_de_champ
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,7 +19,7 @@ class Dossier < ActiveRecord::Base
|
||||||
delegate :siren, to: :entreprise
|
delegate :siren, to: :entreprise
|
||||||
delegate :siret, to: :etablissement
|
delegate :siret, to: :etablissement
|
||||||
delegate :types_de_piece_justificative, to: :procedure
|
delegate :types_de_piece_justificative, to: :procedure
|
||||||
delegate :types_de_champs, to: :procedure
|
delegate :types_de_champ, to: :procedure
|
||||||
|
|
||||||
before_create :build_default_cerfa
|
before_create :build_default_cerfa
|
||||||
|
|
||||||
|
@ -42,13 +42,13 @@ class Dossier < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_default_champs
|
def build_default_champs
|
||||||
procedure.types_de_champs.each do |type_de_champs|
|
procedure.types_de_champ.each do |type_de_champ|
|
||||||
Champ.create(type_de_champs_id: type_de_champs.id, dossier_id: id)
|
Champ.create(type_de_champ_id: type_de_champ.id, dossier_id: id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def ordered_champs
|
def ordered_champs
|
||||||
champs.joins(', types_de_champs').where('champs.type_de_champs_id = types_de_champs.id').order('order_place')
|
champs.joins(', types_de_champ').where('champs.type_de_champ_id = types_de_champ.id').order('order_place')
|
||||||
end
|
end
|
||||||
|
|
||||||
def ordered_commentaires
|
def ordered_commentaires
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
class Procedure < ActiveRecord::Base
|
class Procedure < ActiveRecord::Base
|
||||||
has_many :types_de_piece_justificative
|
has_many :types_de_piece_justificative
|
||||||
has_many :types_de_champs
|
has_many :types_de_champ
|
||||||
has_many :dossiers
|
has_many :dossiers
|
||||||
|
|
||||||
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
class TypeDeChamps < ActiveRecord::Base
|
class TypeDeChamp < ActiveRecord::Base
|
||||||
enum type_champs: {text: 'text',
|
enum type_champs: {text: 'text',
|
||||||
textarea: 'textarea',
|
textarea: 'textarea',
|
||||||
datetime: 'datetime',
|
datetime: 'datetime',
|
|
@ -17,7 +17,7 @@
|
||||||
%h3.text-info
|
%h3.text-info
|
||||||
Liste des champs à remplir pour un dossier
|
Liste des champs à remplir pour un dossier
|
||||||
|
|
||||||
=render partial: 'admin/procedures/types_de_champs/liste', locals: {f: f}
|
=render partial: 'admin/procedures/types_de_champ/liste', locals: {f: f}
|
||||||
|
|
||||||
%br
|
%br
|
||||||
%br
|
%br
|
||||||
|
|
40
app/views/admin/procedures/types_de_champ/_form.html.haml
Normal file
40
app/views/admin/procedures/types_de_champ/_form.html.haml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
.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? ) }
|
||||||
|
|
||||||
|
.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
|
||||||
|
|
||||||
|
.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? )
|
||||||
|
|
||||||
|
%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'}
|
||||||
|
|
||||||
|
-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
|
||||||
|
|
||||||
|
.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{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"}
|
12
app/views/admin/procedures/types_de_champ/_liste.html.haml
Normal file
12
app/views/admin/procedures/types_de_champ/_liste.html.haml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#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 }
|
||||||
|
|
||||||
|
#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 }
|
||||||
|
|
||||||
|
%script{ type:'text/javascript' }
|
||||||
|
="var types_de_champ_index = #{@procedure.types_de_champ.size}"
|
|
@ -1,40 +0,0 @@
|
||||||
.form-inline{id:"type_de_champs_#{index}", style: 'padding-bottom:8px'}
|
|
||||||
.form-group{ style: 'padding-right: 2%' }
|
|
||||||
%h4 Libellé
|
|
||||||
%input.form-control#libelle{ type: 'text', placeholder: 'Libelle', name:"type_de_champs[#{index}][libelle]", size: 40, value: ("#{ type_de_champs.libelle }" unless type_de_champs.nil? ) }
|
|
||||||
|
|
||||||
.form-group{ style: 'padding-right: 2%' }
|
|
||||||
%h4 Type
|
|
||||||
%select.form-control#type_champs{ name: "type_de_champs[#{index}][type]" }
|
|
||||||
%option{ value: 'text', selected: (type_de_champs.type_champs == 'text' unless type_de_champs.nil?)}
|
|
||||||
Simple texte
|
|
||||||
%option{ value: 'textarea', selected: (type_de_champs.type_champs == 'textarea' unless type_de_champs.nil?)}
|
|
||||||
Texte multi-lignes
|
|
||||||
%option{ value: 'datetime', selected: (type_de_champs.type_champs == 'datetime' unless type_de_champs.nil?)}
|
|
||||||
Date
|
|
||||||
%option{ value: 'number', selected: (type_de_champs.type_champs == 'number' unless type_de_champs.nil?)}
|
|
||||||
Valeur numérique
|
|
||||||
|
|
||||||
.form-group{ style: 'padding-right: 2%' }
|
|
||||||
%h4
|
|
||||||
Description
|
|
||||||
%textarea.form-control#description{cols: 60, placeholder: 'Description', name: "type_de_champs[#{index}][description]"}
|
|
||||||
=("#{ type_de_champs.description }" unless type_de_champs.nil? )
|
|
||||||
|
|
||||||
%input.order_place{type: 'hidden', name: "type_de_champs[#{index}][order_place]", value: (("#{ type_de_champs.order_place }" unless type_de_champs.nil?) || index+1)}
|
|
||||||
%input#id_type_de_champs{type: 'hidden', name: "type_de_champs[#{index}][id_type_de_champs]", value: (("#{ type_de_champs.id}" unless type_de_champs.nil?))}
|
|
||||||
%input#delete{type: 'hidden', name: "type_de_champs[#{index}][delete]", value: 'false'}
|
|
||||||
|
|
||||||
-if type_de_champs.nil?
|
|
||||||
.form-group#add_type_de_champs_button
|
|
||||||
%br
|
|
||||||
%button.form-control.btn.btn-success#add_type_de_champs_procedure{type: 'button'} Ajouter
|
|
||||||
|
|
||||||
.form-group.order_type_de_champs_button{id: "order_type_de_champs_#{index}_button", style: ("display:none" if type_de_champs.nil?)}
|
|
||||||
%br
|
|
||||||
%button.form-control.btn.btn-default.button_up.fa.fa-chevron-up{type: 'button', id: "order_type_de_champs_#{index}_up_procedure"}
|
|
||||||
%button.form-control.btn.btn-default.button_down.fa.fa-chevron-down{type: 'button', id: "order_type_de_champs_#{index}_down_procedure"}
|
|
||||||
|
|
||||||
.form-group{id: "delete_type_de_champs_#{index}_button", style: ("display:none" if type_de_champs.nil?)}
|
|
||||||
%br
|
|
||||||
%button.form-control.btn.btn-danger.fa.fa-trash-o{type: 'button', id: "delete_type_de_champs_#{index}_procedure"}
|
|
|
@ -1,12 +0,0 @@
|
||||||
#liste_champs
|
|
||||||
-if @procedure.types_de_champs.size > 0
|
|
||||||
- @procedure.types_de_champs.order(:order_place).each_with_index do |type_de_champs, index|
|
|
||||||
=render partial: 'admin/procedures/types_de_champs/form', locals:{ type_de_champs: type_de_champs, index: index }
|
|
||||||
|
|
||||||
#liste_delete_champs
|
|
||||||
|
|
||||||
#new_type_de_champs
|
|
||||||
=render partial: 'admin/procedures/types_de_champs/form', locals:{ type_de_champs: nil, index: @procedure.types_de_champs.size }
|
|
||||||
|
|
||||||
%script{ type:'text/javascript' }
|
|
||||||
="var types_de_champs_index = #{@procedure.types_de_champs.size}"
|
|
|
@ -11,7 +11,7 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||||
inflect.acronym 'API'
|
inflect.acronym 'API'
|
||||||
inflect.irregular 'piece_justificative', 'pieces_justificatives'
|
inflect.irregular 'piece_justificative', 'pieces_justificatives'
|
||||||
inflect.irregular 'type_de_piece_justificative', 'types_de_piece_justificative'
|
inflect.irregular 'type_de_piece_justificative', 'types_de_piece_justificative'
|
||||||
inflect.irregular 'type_de_champs', 'types_de_champs'
|
inflect.irregular 'type_de_champ', 'types_de_champ'
|
||||||
end
|
end
|
||||||
|
|
||||||
# These inflection rules are supported but not enabled by default:
|
# These inflection rules are supported but not enabled by default:
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class RenameTypeDeChampsToTypeDeChamp < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_table :types_de_champs, :types_de_champ
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,5 @@
|
||||||
|
class RenameTypeDeChampsIdToTypeDeChampIdOnChamp < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_column :champs, :type_de_champs_id, :type_de_champ_id
|
||||||
|
end
|
||||||
|
end
|
|
@ -11,7 +11,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: 20151103091603) do
|
ActiveRecord::Schema.define(version: 20151105095431) 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"
|
||||||
|
@ -43,7 +43,7 @@ ActiveRecord::Schema.define(version: 20151103091603) do
|
||||||
|
|
||||||
create_table "champs", force: :cascade do |t|
|
create_table "champs", force: :cascade do |t|
|
||||||
t.string "value"
|
t.string "value"
|
||||||
t.integer "type_de_champs_id"
|
t.integer "type_de_champ_id"
|
||||||
t.integer "dossier_id"
|
t.integer "dossier_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ ActiveRecord::Schema.define(version: 20151103091603) do
|
||||||
t.boolean "use_api_carto", default: false
|
t.boolean "use_api_carto", default: false
|
||||||
end
|
end
|
||||||
|
|
||||||
create_table "types_de_champs", force: :cascade do |t|
|
create_table "types_de_champ", force: :cascade do |t|
|
||||||
t.string "libelle"
|
t.string "libelle"
|
||||||
t.string "type_champs"
|
t.string "type_champs"
|
||||||
t.integer "order_place"
|
t.integer "order_place"
|
||||||
|
|
|
@ -23,7 +23,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let(:types_de_champs_params) {
|
let(:types_de_champ_params) {
|
||||||
{'0' =>
|
{'0' =>
|
||||||
{libelle: 'Champs de test',
|
{libelle: 'Champs de test',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
@ -37,7 +37,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let(:types_de_champs_params_errors) {
|
let(:types_de_champ_params_errors) {
|
||||||
{'0' =>
|
{'0' =>
|
||||||
{libelle: '',
|
{libelle: '',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
@ -76,7 +76,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'GET #show' do
|
describe 'GET #show' do
|
||||||
let(:procedure) { create(:procedure, :with_type_de_champs, :with_two_type_de_piece_justificative) }
|
let(:procedure) { create(:procedure, :with_type_de_champ, :with_two_type_de_piece_justificative) }
|
||||||
let(:procedure_id) { procedure.id }
|
let(:procedure_id) { procedure.id }
|
||||||
|
|
||||||
subject { get :show, id: procedure_id }
|
subject { get :show, id: procedure_id }
|
||||||
|
@ -152,40 +152,40 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'type_de_champs processing' do
|
describe 'type_de_champ processing' do
|
||||||
before do
|
before do
|
||||||
post :create, procedure: procedure_params, type_de_champs: types_de_champs_params
|
post :create, procedure: procedure_params, type_de_champ: types_de_champ_params
|
||||||
end
|
end
|
||||||
|
|
||||||
subject { Procedure.last }
|
subject { Procedure.last }
|
||||||
|
|
||||||
context 'when no type de champs is filled' do
|
context 'when no type de champs is filled' do
|
||||||
let(:types_de_champs_params) { {} }
|
let(:types_de_champ_params) { {} }
|
||||||
it { expect(subject.types_de_champs.size).to eq(0) }
|
it { expect(subject.types_de_champ.size).to eq(0) }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when two types de champs are filled' do
|
context 'when two types de champs are filled' do
|
||||||
it { expect(subject.types_de_champs.size).to eq(2) }
|
it { expect(subject.types_de_champ.size).to eq(2) }
|
||||||
|
|
||||||
describe ' check types de champs attributs present into database' do
|
describe ' check types de champs attributs present into database' do
|
||||||
subject { TypeDeChamps.all }
|
subject { TypeDeChamp.all }
|
||||||
|
|
||||||
it { expect(subject[0].libelle).to eq(types_de_champs_params['0'][:libelle]) }
|
it { expect(subject[0].libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||||
it { expect(subject[0].type_champs).to eq(types_de_champs_params['0'][:type]) }
|
it { expect(subject[0].type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||||
it { expect(subject[0].description).to eq(types_de_champs_params['0'][:description]) }
|
it { expect(subject[0].description).to eq(types_de_champ_params['0'][:description]) }
|
||||||
it { expect(subject[0].order_place).to eq(types_de_champs_params['0'][:order_place]) }
|
it { expect(subject[0].order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||||
|
|
||||||
it { expect(subject[1].libelle).to eq(types_de_champs_params['1'][:libelle]) }
|
it { expect(subject[1].libelle).to eq(types_de_champ_params['1'][:libelle]) }
|
||||||
it { expect(subject[1].type_champs).to eq(types_de_champs_params['1'][:type]) }
|
it { expect(subject[1].type_champs).to eq(types_de_champ_params['1'][:type]) }
|
||||||
it { expect(subject[1].description).to eq(types_de_champs_params['1'][:description]) }
|
it { expect(subject[1].description).to eq(types_de_champ_params['1'][:description]) }
|
||||||
it { expect(subject[1].order_place).to eq(types_de_champs_params['1'][:order_place]) }
|
it { expect(subject[1].order_place).to eq(types_de_champ_params['1'][:order_place]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when one of two types de champs have not a libelle' do
|
context 'when one of two types de champs have not a libelle' do
|
||||||
let(:types_de_champs_params) { types_de_champs_params_errors }
|
let(:types_de_champ_params) { types_de_champ_params_errors }
|
||||||
|
|
||||||
it { expect(subject.types_de_champs.size).to eq(1) }
|
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'PUT #update' do
|
describe 'PUT #update' do
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs, :with_two_type_de_piece_justificative) }
|
let!(:procedure) { create(:procedure, :with_type_de_champ, :with_two_type_de_piece_justificative) }
|
||||||
|
|
||||||
context 'when administrateur is not connected' do
|
context 'when administrateur is not connected' do
|
||||||
before do
|
before do
|
||||||
|
@ -238,7 +238,7 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
|
|
||||||
context 'when administrateur is connected' do
|
context 'when administrateur is connected' do
|
||||||
before do
|
before do
|
||||||
put :update, id: procedure.id, procedure: procedure_params, type_de_champs: types_de_champs_params, type_de_piece_justificative: types_de_piece_justificative_params
|
put :update, id: procedure.id, procedure: procedure_params, type_de_champ: types_de_champ_params, type_de_piece_justificative: types_de_piece_justificative_params
|
||||||
procedure.reload
|
procedure.reload
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -274,97 +274,97 @@ describe Admin::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'type_de_champs processing' do
|
describe 'type_de_champ processing' do
|
||||||
subject { procedure }
|
subject { procedure }
|
||||||
|
|
||||||
context 'when no type de champs is filled' do
|
context 'when no type de champs is filled' do
|
||||||
let(:types_de_champs_params) { {} }
|
let(:types_de_champ_params) { {} }
|
||||||
it { expect(subject.types_de_champs.size).to eq(1) }
|
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when two types de champs are filled' do
|
context 'when two types de champs are filled' do
|
||||||
it { expect(subject.types_de_champs.size).to eq(3) }
|
it { expect(subject.types_de_champ.size).to eq(3) }
|
||||||
|
|
||||||
describe ' check types de champs attributs added into database' do
|
describe ' check types de champs attributs added into database' do
|
||||||
subject { procedure.types_de_champs }
|
subject { procedure.types_de_champ }
|
||||||
|
|
||||||
it { expect(subject[1].libelle).to eq(types_de_champs_params['0'][:libelle]) }
|
it { expect(subject[1].libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||||
it { expect(subject[1].type_champs).to eq(types_de_champs_params['0'][:type]) }
|
it { expect(subject[1].type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||||
it { expect(subject[1].description).to eq(types_de_champs_params['0'][:description]) }
|
it { expect(subject[1].description).to eq(types_de_champ_params['0'][:description]) }
|
||||||
it { expect(subject[1].order_place).to eq(types_de_champs_params['0'][:order_place]) }
|
it { expect(subject[1].order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||||
|
|
||||||
it { expect(subject[2].libelle).to eq(types_de_champs_params['1'][:libelle]) }
|
it { expect(subject[2].libelle).to eq(types_de_champ_params['1'][:libelle]) }
|
||||||
it { expect(subject[2].type_champs).to eq(types_de_champs_params['1'][:type]) }
|
it { expect(subject[2].type_champs).to eq(types_de_champ_params['1'][:type]) }
|
||||||
it { expect(subject[2].description).to eq(types_de_champs_params['1'][:description]) }
|
it { expect(subject[2].description).to eq(types_de_champ_params['1'][:description]) }
|
||||||
it { expect(subject[2].order_place).to eq(types_de_champs_params['1'][:order_place]) }
|
it { expect(subject[2].order_place).to eq(types_de_champ_params['1'][:order_place]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when one of two types de champs have not a libelle' do
|
context 'when one of two types de champs have not a libelle' do
|
||||||
let(:procedure) { create(:procedure) }
|
let(:procedure) { create(:procedure) }
|
||||||
let(:types_de_champs_params) { types_de_champs_params_errors }
|
let(:types_de_champ_params) { types_de_champ_params_errors }
|
||||||
|
|
||||||
it { expect(subject.types_de_champs.size).to eq(1) }
|
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when user edit the filed' do
|
context 'when user edit the filed' do
|
||||||
let(:types_de_champs_params) {
|
let(:types_de_champ_params) {
|
||||||
{'0' =>
|
{'0' =>
|
||||||
{libelle: 'Champs de test editée',
|
{libelle: 'Champs de test editée',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
description: 'Description de test editée',
|
description: 'Description de test editée',
|
||||||
order_place: 1,
|
order_place: 1,
|
||||||
id_type_de_champs: procedure.types_de_champs.first.id}
|
id_type_de_champ: procedure.types_de_champ.first.id}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it { expect(subject.types_de_champs.size).to eq(1) }
|
it { expect(subject.types_de_champ.size).to eq(1) }
|
||||||
|
|
||||||
describe ' check types de champs attributs updated into database' do
|
describe ' check types de champs attributs updated into database' do
|
||||||
subject { procedure.types_de_champs.first }
|
subject { procedure.types_de_champ.first }
|
||||||
|
|
||||||
it { expect(subject.libelle).to eq(types_de_champs_params['0'][:libelle]) }
|
it { expect(subject.libelle).to eq(types_de_champ_params['0'][:libelle]) }
|
||||||
it { expect(subject.type_champs).to eq(types_de_champs_params['0'][:type]) }
|
it { expect(subject.type_champs).to eq(types_de_champ_params['0'][:type]) }
|
||||||
it { expect(subject.description).to eq(types_de_champs_params['0'][:description]) }
|
it { expect(subject.description).to eq(types_de_champ_params['0'][:description]) }
|
||||||
it { expect(subject.order_place).to eq(types_de_champs_params['0'][:order_place]) }
|
it { expect(subject.order_place).to eq(types_de_champ_params['0'][:order_place]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when delete a type de champs' do
|
context 'when delete a type de champs' do
|
||||||
let(:types_de_champs_params) {
|
let(:types_de_champ_params) {
|
||||||
{'0' =>
|
{'0' =>
|
||||||
{libelle: 'Champs de test editée',
|
{libelle: 'Champs de test editée',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
description: 'Description de test editée',
|
description: 'Description de test editée',
|
||||||
order_place: 1,
|
order_place: 1,
|
||||||
delete: 'true',
|
delete: 'true',
|
||||||
id_type_de_champs: procedure.types_de_champs.first.id}
|
id_type_de_champ: procedure.types_de_champ.first.id}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it { expect(subject.types_de_champs.size).to eq(0) }
|
it { expect(subject.types_de_champ.size).to eq(0) }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when delete a type de champs present in database and a type champ not present in database' do
|
context 'when delete a type de champs present in database and a type champ not present in database' do
|
||||||
let(:types_de_champs_params) {
|
let(:types_de_champ_params) {
|
||||||
{'0' =>
|
{'0' =>
|
||||||
{libelle: 'Champs de test editée',
|
{libelle: 'Champs de test editée',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
description: 'Description de test editée',
|
description: 'Description de test editée',
|
||||||
order_place: 1,
|
order_place: 1,
|
||||||
delete: 'true',
|
delete: 'true',
|
||||||
id_type_de_champs: procedure.types_de_champs.first.id},
|
id_type_de_champ: procedure.types_de_champ.first.id},
|
||||||
'1' =>
|
'1' =>
|
||||||
{libelle: 'Champs de test editée',
|
{libelle: 'Champs de test editée',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
description: 'Description de test editée',
|
description: 'Description de test editée',
|
||||||
order_place: 1,
|
order_place: 1,
|
||||||
delete: 'true',
|
delete: 'true',
|
||||||
id_type_de_champs: ''}
|
id_type_de_champ: ''}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
it { expect(subject.types_de_champs.size).to eq(0) }
|
it { expect(subject.types_de_champ.size).to eq(0) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ FactoryGirl.define do
|
||||||
|
|
||||||
trait :with_procedure do
|
trait :with_procedure do
|
||||||
after(:build) do |dossier, _evaluator|
|
after(:build) do |dossier, _evaluator|
|
||||||
procedure = create(:procedure, :with_two_type_de_piece_justificative, :with_type_de_champs)
|
procedure = create(:procedure, :with_two_type_de_piece_justificative, :with_type_de_champ)
|
||||||
dossier.procedure = procedure
|
dossier.procedure = procedure
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,11 +4,11 @@ FactoryGirl.define do
|
||||||
libelle 'Demande de subvention'
|
libelle 'Demande de subvention'
|
||||||
description "Demande de subvention à l'intention des associations"
|
description "Demande de subvention à l'intention des associations"
|
||||||
|
|
||||||
trait :with_type_de_champs do
|
trait :with_type_de_champ do
|
||||||
after(:build) do |procedure, _evaluator|
|
after(:build) do |procedure, _evaluator|
|
||||||
type_de_champs = create(:type_de_champs)
|
type_de_champ = create(:type_de_champ)
|
||||||
|
|
||||||
procedure.types_de_champs << type_de_champs
|
procedure.types_de_champ << type_de_champ
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory :type_de_champs do
|
factory :type_de_champ do
|
||||||
libelle 'Libellé'
|
libelle 'Libellé'
|
||||||
description 'description de votre projet'
|
description 'description de votre projet'
|
||||||
type_champs 'textarea'
|
type_champs 'textarea'
|
77
spec/features/admin/add_type_de_champ_spec.rb
Normal file
77
spec/features/admin/add_type_de_champ_spec.rb
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'add a new type de champs', js: true do
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when create a new procedure' do
|
||||||
|
before do
|
||||||
|
visit new_admin_procedure_path
|
||||||
|
end
|
||||||
|
|
||||||
|
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('#order_type_de_champ_0_button', visible: false);
|
||||||
|
expect(page).to have_css('#order_type_de_champ_0_up_procedure', visible: false);
|
||||||
|
expect(page).to have_css('#order_type_de_champ_0_down_procedure', visible: false);
|
||||||
|
|
||||||
|
expect(page).to have_css('#new_type_de_champ #add_type_de_champ_button')
|
||||||
|
end
|
||||||
|
|
||||||
|
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.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('#order_type_de_champ_1_button', visible: false);
|
||||||
|
expect(page).to have_css('#order_type_de_champ_1_up_procedure', visible: false);
|
||||||
|
expect(page).to have_css('#order_type_de_champ_1_down_procedure', visible: false);
|
||||||
|
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')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'the first line have new button delete' do
|
||||||
|
expect(page).to have_css('#delete_type_de_champ_0_button')
|
||||||
|
expect(page).to have_css('#delete_type_de_champ_0_procedure')
|
||||||
|
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')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'the button Ajouter is at side new line' do
|
||||||
|
expect(page).to have_css('#new_type_de_champ #type_de_champ_1 #add_type_de_champ_button')
|
||||||
|
expect(page).not_to have_css('#type_de_champ_0 #add_type_de_champ_button')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,77 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'add a new type de champs', js: true do
|
|
||||||
let(:administrateur) { create(:administrateur) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_as administrateur, scope: :administrateur
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when create a new procedure' do
|
|
||||||
before do
|
|
||||||
visit new_admin_procedure_path
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'page have form to created new type de champs' do
|
|
||||||
expect(page).to have_css('#type_de_champs_0')
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[0][libelle]"]')
|
|
||||||
expect(page).to have_css('select[name="type_de_champs[0][type]"]')
|
|
||||||
expect(page).to have_css('textarea[name="type_de_champs[0][description]"]')
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[0][order_place]"]', visible: false)
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[0][id_type_de_champs]"]', visible: false)
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[0][delete]"]', visible: false)
|
|
||||||
|
|
||||||
expect(page).to have_css('#order_type_de_champs_0_button', visible: false);
|
|
||||||
expect(page).to have_css('#order_type_de_champs_0_up_procedure', visible: false);
|
|
||||||
expect(page).to have_css('#order_type_de_champs_0_down_procedure', visible: false);
|
|
||||||
|
|
||||||
expect(page).to have_css('#new_type_de_champs #add_type_de_champs_button')
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user add a new champs type' do
|
|
||||||
before do
|
|
||||||
page.find_by_id('type_de_champs_0').find_by_id('libelle').set 'Libelle de test'
|
|
||||||
page.find_by_id('type_de_champs_0').find_by_id('description').set 'Description de test'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'a new champs type line is appeared with increment index id' do
|
|
||||||
expect(page).to have_css('#type_de_champs_1')
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[1][libelle]"]')
|
|
||||||
expect(page).to have_css('select[name="type_de_champs[1][type]"]')
|
|
||||||
expect(page).to have_css('textarea[name="type_de_champs[1][description]"]')
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[1][order_place]"]', visible: false)
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[1][id_type_de_champs]"]', visible: false)
|
|
||||||
expect(page).to have_css('input[name="type_de_champs[1][delete]"]', visible: false)
|
|
||||||
|
|
||||||
expect(page).to have_css('#order_type_de_champs_1_button', visible: false);
|
|
||||||
expect(page).to have_css('#order_type_de_champs_1_up_procedure', visible: false);
|
|
||||||
expect(page).to have_css('#order_type_de_champs_1_down_procedure', visible: false);
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'the first line is filled' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find_by_id('libelle').value).to eq('Libelle de test')
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find_by_id('description').value).to eq('Description de test')
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('1')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'the first line have new button delete' do
|
|
||||||
expect(page).to have_css('#delete_type_de_champs_0_button')
|
|
||||||
expect(page).to have_css('#delete_type_de_champs_0_procedure')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'the new line is empty' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find_by_id('libelle').value).to eq('')
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find_by_id('description').value).to eq('')
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('2')
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find_by_id('id_type_de_champs', visible: false).value).to eq('')
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find_by_id('delete', visible: false).value).to eq('false')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'the button Ajouter is at side new line' do
|
|
||||||
expect(page).to have_css('#new_type_de_champs #type_de_champs_1 #add_type_de_champs_button')
|
|
||||||
expect(page).not_to have_css('#type_de_champs_0 #add_type_de_champs_button')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -14,112 +14,112 @@ feature 'config up and down button display', js: true do
|
||||||
visit admin_procedure_path id: procedure.id
|
visit admin_procedure_path id: procedure.id
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_0 have not up and down button visible' do
|
scenario 'type_de_champ_0 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_0_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_0_down_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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when procedure have one type de champs' do
|
context 'when procedure have one type de champs' do
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
visit admin_procedure_path id: procedure.id
|
visit admin_procedure_path id: procedure.id
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_0 have not up and down button visible' do
|
scenario 'type_de_champ_0 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_0_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_0_down_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
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_1 have not up and down button visible' do
|
scenario 'type_de_champ_1 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_1_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_1_down_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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when procedure have two type de champs' do
|
context 'when procedure have two type de champs' do
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
visit admin_procedure_path id: procedure.id
|
visit admin_procedure_path id: procedure.id
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_0 have not up visible and down button visible' do
|
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_0_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_0_down_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_1 have up button visible and down button not visible' do
|
scenario 'type_de_champ_1 have up button visible and down button not visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_1_up_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||||
expect(page.find_by_id('order_type_de_champs_1_down_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
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_2 have not up and down button visible' do
|
scenario 'type_de_champ_2 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_2_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_2_down_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
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when procedure have two type de champs into database and one type de champs add to form' do
|
context 'when procedure have two type de champs into database and one type de champs add to form' do
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
visit admin_procedure_path id: procedure.id
|
visit admin_procedure_path id: procedure.id
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
page.click_on 'add_type_de_champ_procedure'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_0 have not up visible and down button visible' do
|
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_0_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_0_down_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_1 have up button and down button visible' do
|
scenario 'type_de_champ_1 have up button and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_1_up_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||||
expect(page.find_by_id('order_type_de_champs_1_down_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_1_down_procedure').visible?).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_2 have up visible and down button not visible' do
|
scenario 'type_de_champ_2 have up visible and down button not visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_2_up_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_2_up_procedure').visible?).to be_truthy
|
||||||
expect(page.find_by_id('order_type_de_champs_2_down_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
|
||||||
|
|
||||||
scenario 'type_de_champs_3 have not up and down button visible' do
|
scenario 'type_de_champ_3 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_3_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_3_down_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
|
||||||
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_champs' do
|
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
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
visit admin_procedure_path id: procedure.id
|
visit admin_procedure_path id: procedure.id
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
page.click_on 'add_type_de_champ_procedure'
|
||||||
page.click_on 'delete_type_de_champs_2_procedure'
|
page.click_on 'delete_type_de_champ_2_procedure'
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_0 have not up visible and down button visible' do
|
scenario 'type_de_champ_0 have not up visible and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_0_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_0_down_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_0_down_procedure').visible?).to be_truthy
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_1 have up button visible and down button not visible' do
|
scenario 'type_de_champ_1 have up button visible and down button not visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_1_up_procedure').visible?).to be_truthy
|
expect(page.find_by_id('order_type_de_champ_1_up_procedure').visible?).to be_truthy
|
||||||
expect(page.find_by_id('order_type_de_champs_1_down_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
|
end
|
||||||
|
|
||||||
scenario 'type_de_champs_2 have up and down button not visible' do
|
scenario 'type_de_champ_2 have up and down button not visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_2_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_2_down_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
|
||||||
|
|
||||||
scenario 'type_de_champs_3 have not up and down button visible' do
|
scenario 'type_de_champ_3 have not up and down button visible' do
|
||||||
expect(page.find_by_id('order_type_de_champs_3_up_procedure', visible: false).visible?).to be_falsey
|
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_champs_3_down_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
|
||||||
end
|
end
|
||||||
end
|
end
|
80
spec/features/admin/delete_type_de_champ_spec.rb
Normal file
80
spec/features/admin/delete_type_de_champ_spec.rb
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'delete a type de champs form', js: true do
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user click on type de trash button' do
|
||||||
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
visit admin_procedure_path id: procedure.id
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user edit a type de champs already save in database' do
|
||||||
|
let(:type_de_champ) { procedure.types_de_champ.first }
|
||||||
|
|
||||||
|
before do
|
||||||
|
page.click_on 'delete_type_de_champ_0_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
|
||||||
|
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')
|
||||||
|
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)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user edit a type de champs just add on the form page' do
|
||||||
|
before 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 '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'
|
||||||
|
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
|
||||||
|
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')
|
||||||
|
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)
|
||||||
|
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')
|
||||||
|
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')
|
||||||
|
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')
|
||||||
|
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')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,80 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'delete a type de champs form', js: true do
|
|
||||||
let(:administrateur) { create(:administrateur) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_as administrateur, scope: :administrateur
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user click on type de trash button' do
|
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
visit admin_procedure_path id: procedure.id
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user edit a type de champs already save in database' do
|
|
||||||
let(:type_de_champs) { procedure.types_de_champs.first }
|
|
||||||
|
|
||||||
before do
|
|
||||||
page.click_on 'delete_type_de_champs_0_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'form is mask for the user' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0', 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_champs_0', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'attribut node is to move into div liste_delete_champs' do
|
|
||||||
expect(page).to have_css('#liste_delete_champs #type_de_champs_0', visible: false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user edit a type de champs just add on the form page' do
|
|
||||||
before do
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'delete_type_de_champs_1_procedure'
|
|
||||||
page.click_on 'delete_type_de_champs_2_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'form is mask for the user' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1', visible: false).visible?).to be_falsey
|
|
||||||
expect(page.find_by_id('type_de_champs_2', 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_champs_1', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
|
||||||
expect(page.find_by_id('type_de_champs_2', visible: false).find_by_id('delete', visible: false).value).to eq('true')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'attribut node is to move into div liste_delete_champs' do
|
|
||||||
expect(page).to have_css('#liste_delete_champs #type_de_champs_1', visible: false)
|
|
||||||
expect(page).to have_css('#liste_delete_champs #type_de_champs_2', visible: false)
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'order_place type_de_champs_0_procedure is 1' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find("input[class='order_place']", visible: false).value).to eq('1')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'order_place type_de_champs_3_procedure is 2' do
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find("input[class='order_place']", visible: false).value).to eq('2')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'order_place type_de_champs_4_procedure is 3' do
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find("input[class='order_place']", visible: false).value).to eq('3')
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'order_place type_de_champs_5_procedure is 4' do
|
|
||||||
expect(page.find_by_id('type_de_champs_5').find("input[class='order_place']", visible: false).value).to eq('4')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
79
spec/features/admin/move_down_type_de_champ_spec.rb
Normal file
79
spec/features/admin/move_down_type_de_champ_spec.rb
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'move down button type de champs', js: true do
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when click on move down type de champs button' do
|
||||||
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
visit admin_procedure_path id: procedure.id
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure have two type de champs' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_0_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');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
||||||
|
before 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'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on down_button type_de_champ_1' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_1_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');
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on up_button type_de_champ_3' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_3_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');
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on up_button type_de_champ_0' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_0_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');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,79 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'move down button type de champs', js: true do
|
|
||||||
let(:administrateur) { create(:administrateur) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_as administrateur, scope: :administrateur
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when click on move down type de champs button' do
|
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
visit admin_procedure_path id: procedure.id
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when procedure have two type de champs' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_0_down_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'it inverse the twice type de champs' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
|
||||||
before do
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on down_button type_de_champs_1' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_1_down_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_1 and type_de_champs_2 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_3' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_3_down_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_3 and type_de_champs_4 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_0' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_0_down_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_0 and type_de_champs_2 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
72
spec/features/admin/move_up_and_down_type_de_champ_spec.rb
Normal file
72
spec/features/admin/move_up_and_down_type_de_champ_spec.rb
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'move up and down button type de champs', js: true do
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when click on move up and down type de champs button' do
|
||||||
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
visit admin_procedure_path id: procedure.id
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
||||||
|
before 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'
|
||||||
|
end
|
||||||
|
#
|
||||||
|
context 'when to click on up_button type_de_champ_1 and down_button type_de_champ_0' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_1_up_procedure'
|
||||||
|
page.click_on 'order_type_de_champ_0_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');
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on down_button type_de_champ_3 and 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_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');
|
||||||
|
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
|
||||||
|
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'
|
||||||
|
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');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,72 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'move up and down button type de champs', js: true do
|
|
||||||
let(:administrateur) { create(:administrateur) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_as administrateur, scope: :administrateur
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when click on move up and down type de champs button' do
|
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
visit admin_procedure_path id: procedure.id
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
|
||||||
before do
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
end
|
|
||||||
#
|
|
||||||
context 'when to click on up_button type_de_champs_1 and down_button type_de_champs_0' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_1_up_procedure'
|
|
||||||
page.click_on 'order_type_de_champs_0_down_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_0 is at order place 3 and type_de_champs_1 is at order place 1 ' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on down_button type_de_champs_3 and up_button type_de_champs_4' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_3_down_procedure'
|
|
||||||
page.click_on 'order_type_de_champs_4_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_2 and type_de_champs_3 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_2 and down_button type_de_champs_0 and up_button type_de_champs_4' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_2_up_procedure'
|
|
||||||
page.click_on 'order_type_de_champs_0_down_procedure'
|
|
||||||
page.click_on 'order_type_de_champs_4_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_2 and type_de_champs_4 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
80
spec/features/admin/move_up_type_de_champ_spec.rb
Normal file
80
spec/features/admin/move_up_type_de_champ_spec.rb
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
feature 'move up button type de champs', js: true do
|
||||||
|
|
||||||
|
let(:administrateur) { create(:administrateur) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
login_as administrateur, scope: :administrateur
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when click on move up type de champs button' do
|
||||||
|
let!(:procedure) { create(:procedure, :with_type_de_champ) }
|
||||||
|
let!(:type_de_champ) { create(:type_de_champ, procedure: procedure, order_place: 2) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
visit admin_procedure_path id: procedure.id
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure have two type de champs' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_1_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');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
||||||
|
before 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'
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on up_button type_de_champ_1' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_1_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');
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on up_button type_de_champ_3' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_3_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');
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when to click on up_button type_de_champ_4' do
|
||||||
|
before do
|
||||||
|
page.click_on 'order_type_de_champ_4_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');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,80 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
|
|
||||||
feature 'move up button type de champs', js: true do
|
|
||||||
|
|
||||||
let(:administrateur) { create(:administrateur) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
login_as administrateur, scope: :administrateur
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when click on move up type de champs button' do
|
|
||||||
let!(:procedure) { create(:procedure, :with_type_de_champs) }
|
|
||||||
let!(:type_de_champs) { create(:type_de_champs, procedure: procedure, order_place: 2) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
visit admin_procedure_path id: procedure.id
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when procedure have two type de champs' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_1_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'it inverse the twice type de champs' do
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when procedure have two type de champs in database and 3 type de champs add on the page' do
|
|
||||||
before do
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
page.click_on 'add_type_de_champs_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_1' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_1_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_0 and type_de_champs_1 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_3' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_3_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_2 and type_de_champs_3 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when to click on up_button type_de_champs_4' do
|
|
||||||
before do
|
|
||||||
page.click_on 'order_type_de_champs_4_up_procedure'
|
|
||||||
end
|
|
||||||
|
|
||||||
scenario 'type_de_champs_2 and type_de_champs_4 is reversed' do
|
|
||||||
expect(page.find_by_id('type_de_champs_1').find('input[class="order_place"]', visible: false).value).to eq('1');
|
|
||||||
expect(page.find_by_id('type_de_champs_0').find('input[class="order_place"]', visible: false).value).to eq('2');
|
|
||||||
expect(page.find_by_id('type_de_champs_3').find('input[class="order_place"]', visible: false).value).to eq('3');
|
|
||||||
expect(page.find_by_id('type_de_champs_4').find('input[class="order_place"]', visible: false).value).to eq('4');
|
|
||||||
expect(page.find_by_id('type_de_champs_2').find('input[class="order_place"]', visible: false).value).to eq('5');
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -7,12 +7,12 @@ describe Champ do
|
||||||
|
|
||||||
describe 'associations' do
|
describe 'associations' do
|
||||||
it { is_expected.to belong_to(:dossier) }
|
it { is_expected.to belong_to(:dossier) }
|
||||||
it { is_expected.to belong_to(:type_de_champs) }
|
it { is_expected.to belong_to(:type_de_champ) }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'delegation' do
|
describe 'delegation' do
|
||||||
it { is_expected.to delegate_method(:libelle).to(:type_de_champs) }
|
it { is_expected.to delegate_method(:libelle).to(:type_de_champ) }
|
||||||
it { is_expected.to delegate_method(:type_champs).to(:type_de_champs) }
|
it { is_expected.to delegate_method(:type_champs).to(:type_de_champ) }
|
||||||
it { is_expected.to delegate_method(:order_place).to(:type_de_champs) }
|
it { is_expected.to delegate_method(:order_place).to(:type_de_champ) }
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -28,7 +28,7 @@ describe Dossier do
|
||||||
it { is_expected.to delegate_method(:siren).to(:entreprise) }
|
it { is_expected.to delegate_method(:siren).to(:entreprise) }
|
||||||
it { is_expected.to delegate_method(:siret).to(:etablissement) }
|
it { is_expected.to delegate_method(:siret).to(:etablissement) }
|
||||||
it { is_expected.to delegate_method(:types_de_piece_justificative).to(:procedure) }
|
it { is_expected.to delegate_method(:types_de_piece_justificative).to(:procedure) }
|
||||||
it { is_expected.to delegate_method(:types_de_champs).to(:procedure) }
|
it { is_expected.to delegate_method(:types_de_champ).to(:procedure) }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'validation' do
|
describe 'validation' do
|
||||||
|
|
|
@ -3,7 +3,7 @@ require 'spec_helper'
|
||||||
describe Procedure do
|
describe Procedure do
|
||||||
describe 'assocations' do
|
describe 'assocations' do
|
||||||
it { is_expected.to have_many(:types_de_piece_justificative) }
|
it { is_expected.to have_many(:types_de_piece_justificative) }
|
||||||
it { is_expected.to have_many(:types_de_champs) }
|
it { is_expected.to have_many(:types_de_champ) }
|
||||||
it { is_expected.to have_many(:dossiers) }
|
it { is_expected.to have_many(:dossiers) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe TypeDeChamps do
|
describe TypeDeChamp do
|
||||||
describe 'database columns' do
|
describe 'database columns' do
|
||||||
it { is_expected.to have_db_column(:libelle) }
|
it { is_expected.to have_db_column(:libelle) }
|
||||||
it { is_expected.to have_db_column(:type_champs) }
|
it { is_expected.to have_db_column(:type_champs) }
|
Loading…
Reference in a new issue