aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/compliance_check_sets_controller.rb37
-rw-r--r--app/controllers/compliance_control_sets_controller.rb33
-rw-r--r--app/controllers/concerns/ransack_date_filter.rb48
-rw-r--r--app/controllers/imports_controller.rb28
-rw-r--r--app/controllers/time_tables_controller.rb49
-rw-r--r--app/controllers/workbenches_controller.rb32
-rw-r--r--app/models/chouette/time_table.rb4
-rw-r--r--app/models/compliance_check_set.rb4
-rw-r--r--app/models/compliance_control_set.rb4
-rw-r--r--app/models/import.rb4
-rw-r--r--app/views/compliance_check_sets/_filters.html.slim4
-rw-r--r--app/views/compliance_control_sets/_filters.html.slim4
-rw-r--r--app/views/imports/_filters.html.slim4
-rw-r--r--app/views/time_tables/_filter.html.slim5
-rw-r--r--app/views/workbenches/_filters.html.slim4
-rw-r--r--spec/features/workbenches_spec.rb16
16 files changed, 129 insertions, 151 deletions
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index d61fbafdb..3e093deab 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -1,13 +1,15 @@
class ComplianceCheckSetsController < BreadcrumbController
defaults resource_class: ComplianceCheckSet
- before_action :ransack_created_at_params, only: [:index]
+ include RansackDateFilter
+ set_date_param "created_at", DateTime
+ before_action :set_date_time_params, only: [:index]
respond_to :html
belongs_to :workbench
def index
index! do |format|
- scope = ransack_period @compliance_check_sets
+ scope = ransack_period_range(scope: @compliance_check_sets, error_message: t('compliance_check_sets.filters.error_period_filter'), query: :where_created_at_between)
@q_for_form = scope.ransack(params[:q])
format.html {
@compliance_check_sets = ModelDecorator.decorate(
@@ -17,35 +19,4 @@ class ComplianceCheckSetsController < BreadcrumbController
}
end
end
-
-
- private
-
- def ransack_created_at_params
- start_date = []
- end_date = []
-
- if params[:q] && params[:q][:created_at] && !params[:q][:created_at].has_value?(nil) && !params[:q][:created_at].has_value?("")
- [1, 2, 3].each do |key|
- start_date << params[:q][:created_at]["begin(#{key}i)"].to_i
- end_date << params[:q][:created_at]["end(#{key}i)"].to_i
- end
- params[:q].delete(:created_at)
- @begin_range = DateTime.new(*start_date, 0, 0, 0) rescue nil
- @end_range = DateTime.new(*end_date, 23, 59, 59) rescue nil
- end
- end
-
- # Fake ransack filter
- def ransack_period scope
- return scope unless !!@begin_range && !!@end_range
-
- if @begin_range > @end_range
- flash.now[:error] = t('compliance_check_sets.filters.error_period_filter')
- else
- scope = scope.where_created_at_between(@begin_range, @end_range)
- end
- scope
- end
-
end \ No newline at end of file
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index e3304c0b8..0e4520d1f 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -1,11 +1,13 @@
class ComplianceControlSetsController < BreadcrumbController
defaults resource_class: ComplianceControlSet
- before_action :ransack_updated_at_params, only: [:index]
+ include RansackDateFilter
+ set_date_param "updated_at", DateTime
+ before_action :set_date_time_params, only: [:index]
respond_to :html
def index
index! do |format|
- scope = ransack_period @compliance_control_sets
+ scope = ransack_period_range(scope: @compliance_control_sets, error_message: t('imports.filters.error_period_filter'), query: :where_updated_at_between)
@q_for_form = scope.ransack(params[:q])
format.html {
@compliance_control_sets = decorate_compliance_control_sets(@q_for_form.result)
@@ -44,33 +46,6 @@ class ComplianceControlSetsController < BreadcrumbController
)
end
- def ransack_updated_at_params
- start_date = []
- end_date = []
-
- if params[:q] && params[:q][:updated_at] && !params[:q][:updated_at].has_value?(nil) && !params[:q][:updated_at].has_value?("")
- [1, 2, 3].each do |key|
- start_date << params[:q][:updated_at]["begin(#{key}i)"].to_i
- end_date << params[:q][:updated_at]["end(#{key}i)"].to_i
- end
- params[:q].delete([:updated_at])
- @begin_range = DateTime.new(*start_date,0,0,0) rescue nil
- @end_range = DateTime.new(*end_date,23,59,59) rescue nil
- end
- end
-
- # Fake ransack filter
- def ransack_period scope
- return scope unless !!@begin_range && !!@end_range
-
- if @begin_range > @end_range
- flash.now[:error] = t('imports.filters.error_period_filter')
- else
- scope = scope.where_updated_at_between(@begin_range, @end_range)
- end
- scope
- end
-
def compliance_control_set_params
params.require(:compliance_control_set).permit(:name, :id)
end
diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb
new file mode 100644
index 000000000..20ab764b3
--- /dev/null
+++ b/app/controllers/concerns/ransack_date_filter.rb
@@ -0,0 +1,48 @@
+module RansackDateFilter
+ extend ActiveSupport::Concern
+ cattr_accessor :date_param
+
+ included do
+
+ def set_date_time_params
+ start_date = []
+ end_date = []
+
+ if params[:q] && params[:q][@@date_param] && !params[:q][@@date_param].has_value?(nil) && !params[:q][@@date_param].has_value?("")
+ [1, 2, 3].each do |key|
+ start_date << params[:q][@@date_param]["start_date(#{key}i)"].to_i
+ end_date << params[:q][@@date_param]["end_date(#{key}i)"].to_i
+ end
+ params[:q].delete([@@date_param])
+
+ if @@klass == DateTime
+ @begin_range = @@klass.new(*start_date,0,0,0) rescue nil
+ @end_range = @@klass.new(*end_date,23,59,59) rescue nil
+ else
+ @begin_range = @@klass.new(*start_date) rescue nil
+ @end_range = @@klass.new(*end_date) rescue nil
+ end
+ end
+
+ # Fake ransack filter
+ def ransack_period_range **options
+ return options[:scope] unless !!@begin_range && !!@end_range
+
+ if @begin_range > @end_range
+ flash.now[:error] = options[:error_message]
+ else
+ scope = options[:scope].send options[:query], @begin_range..@end_range
+ end
+ scope
+ end
+ end
+
+ def self.set_date_param(param_name, klass)
+ @@date_param = param_name
+ @@klass = klass
+ end
+
+ private_class_method :set_date_param
+
+ end
+end \ No newline at end of file
diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index f2e65e445..4a12706bc 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -1,8 +1,11 @@
class ImportsController < BreadcrumbController
include PolicyChecker
+ include RansackDateFilter
+ set_date_param "started_at", DateTime
+ before_action :set_date_time_params, only: [:index]
+
skip_before_action :authenticate_user!, only: [:download]
defaults resource_class: Import, collection_name: 'imports', instance_name: 'import'
- before_action :ransack_started_at_params, only: [:index]
before_action :ransack_status_params, only: [:index]
respond_to :html
belongs_to :workbench
@@ -48,7 +51,8 @@ class ImportsController < BreadcrumbController
protected
def collection
scope = parent.imports.where(type: "WorkbenchImport")
- scope = ransack_period scope
+
+ scope = ransack_period_range(scope: scope, error_message: t('imports.filters.error_period_filter'), query: :where_started_at_in)
@q = scope.search(params[:q])
@@ -77,16 +81,16 @@ class ImportsController < BreadcrumbController
end
# Fake ransack filter
- def ransack_period scope
- return scope unless !!@begin_range && !!@end_range
-
- if @begin_range > @end_range
- flash.now[:error] = t('imports.filters.error_period_filter')
- else
- scope = scope.where_started_at_between(@begin_range, @end_range)
- end
- scope
- end
+ # def ransack_period scope
+ # return scope unless !!@begin_range && !!@end_range
+
+ # if @begin_range > @end_range
+ # flash.now[:error] = t('imports.filters.error_period_filter')
+ # else
+ # scope = scope.where_started_at_between(@begin_range..@end_range)
+ # end
+ # scope
+ # end
def ransack_status_params
if params[:q]
diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb
index 0054963c9..12dc26367 100644
--- a/app/controllers/time_tables_controller.rb
+++ b/app/controllers/time_tables_controller.rb
@@ -1,5 +1,8 @@
class TimeTablesController < ChouetteController
include TimeTablesHelper
+ include RansackDateFilter
+ set_date_param "bounding_dates", Date
+ before_action :set_date_time_params, only: [:index]
defaults :resource_class => Chouette::TimeTable
respond_to :html
respond_to :xml
@@ -131,7 +134,7 @@ class TimeTablesController < ChouetteController
params[:q].delete("tag_search")
scope = select_time_tables.tagged_with(tags, :any => true) if tags.any?
end
- scope = ransack_periode(scope)
+ scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :overlapping)
@q = scope.search(params[:q])
if sort_column && sort_direction
@@ -159,28 +162,28 @@ class TimeTablesController < ChouetteController
end
private
- def ransack_periode scope
- return scope unless params[:q]
- return scope unless params[:q]['end_date_lteq(1i)'].present?
-
- begin_range = flatten_date('start_date_gteq')
- end_range = flatten_date('end_date_lteq')
-
- if begin_range > end_range
- flash.now[:error] = t('referentials.errors.validity_period')
- else
- scope = scope.overlapping(begin_range, end_range)
- params[:q] = params[:q].slice('comment_cont', 'color_cont_any')
- @begin_range = begin_range
- @end_range = end_range
- end
- scope
- end
-
- def flatten_date key
- date_int = %w(1 2 3).map {|e| params[:q]["#{key}(#{e}i)"].to_i }
- Date.new(*date_int)
- end
+ # def ransack_periode scope
+ # return scope unless params[:q]
+ # return scope unless params[:q]['end_date_lteq(1i)'].present?
+
+ # begin_range = flatten_date('start_date_gteq')
+ # end_range = flatten_date('end_date_lteq')
+
+ # if begin_range > end_range
+ # flash.now[:error] = t('referentials.errors.validity_period')
+ # else
+ # scope = scope.overlapping(begin_range, end_range)
+ # params[:q] = params[:q].slice('comment_cont', 'color_cont_any')
+ # @begin_range = begin_range
+ # @end_range = end_range
+ # end
+ # scope
+ # end
+
+ # def flatten_date key
+ # date_int = %w(1 2 3).map {|e| params[:q]["#{key}(#{e}i)"].to_i }
+ # Date.new(*date_int)
+ # end
def sort_column
referential.time_tables.column_names.include?(params[:sort]) ? params[:sort] : 'comment'
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb
index d597ba371..68b6e176c 100644
--- a/app/controllers/workbenches_controller.rb
+++ b/app/controllers/workbenches_controller.rb
@@ -1,5 +1,8 @@
class WorkbenchesController < BreadcrumbController
before_action :query_params, only: [:show]
+ include RansackDateFilter
+ set_date_param "validity_period", Date
+ before_action :set_date_time_params, only: [:show]
defaults resource_class: Workbench
respond_to :html, only: [:show, :index]
@@ -11,7 +14,7 @@ class WorkbenchesController < BreadcrumbController
def show
scope = resource.all_referentials
scope = ransack_associated_lines(scope)
- scope = ransack_period(scope)
+ scope = ransack_period_range(scope: scope, error_message: t('referentials.errors.validity_period'), query: :in_periode)
scope = ransack_status(scope)
@q_for_form = scope.ransack(params[:q])
@@ -69,33 +72,6 @@ class WorkbenchesController < BreadcrumbController
end
# Fake ransack filter
- def ransack_period scope
- period = params[:q]['validity_period']
- return scope unless period
-
- begin
- if period['begin_gteq'].kind_of?(Array)
- begin_range = Date.new(*period['begin_gteq'].map(&:to_i))
- end_range = Date.new(*period['end_lteq'].map(&:to_i))
- else
- begin_range = Date.new(period["begin_gteq(1i)"].to_i, period["begin_gteq(2i)"].to_i, period["begin_gteq(3i)"].to_i)
- end_range = Date.new(period["end_lteq(1i)"].to_i, period["end_lteq(2i)"].to_i, period["end_lteq(3i)"].to_i)
- end
- rescue Exception => e
- return scope
- end
-
- if begin_range > end_range
- flash.now[:error] = t('referentials.errors.validity_period')
- else
- scope = scope.in_periode(begin_range..end_range)
- @begin_range = begin_range
- @end_range = end_range
- end
- scope
- end
-
- # Fake ransack filter
def ransack_status scope
archived = !params[:q]['archived_at_not_null'].to_i.zero?
unarchived = !params[:q]['archived_at_null'].to_i.zero?
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb
index 8821a5201..72496273e 100644
--- a/app/models/chouette/time_table.rb
+++ b/app/models/chouette/time_table.rb
@@ -21,12 +21,12 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord
belongs_to :calendar
belongs_to :created_from, class_name: 'Chouette::TimeTable'
- scope :overlapping, -> (date_start, date_end) do
+ scope :overlapping, -> (period_range) do
joins("
LEFT JOIN time_table_periods ON time_tables.id = time_table_periods.time_table_id
LEFT JOIN time_table_dates ON time_tables.id = time_table_dates.time_table_id
")
- .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :start) OR (time_table_dates.date BETWEEN :start AND :end)", {start: date_start, end: date_end})
+ .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :begin) OR (time_table_dates.date BETWEEN :begin AND :end)", {begin: period_range.begin, end: period_range.end})
end
after_save :save_shortcuts
diff --git a/app/models/compliance_check_set.rb b/app/models/compliance_check_set.rb
index 4c00c3516..e4146e0e2 100644
--- a/app/models/compliance_check_set.rb
+++ b/app/models/compliance_check_set.rb
@@ -11,8 +11,8 @@ class ComplianceCheckSet < ActiveRecord::Base
enumerize :status, in: %w[new pending successful warning failed running aborted canceled]
- scope :where_created_at_between, ->(start_date, end_date) do
- where('created_at BETWEEN ? AND ?', start_date, end_date)
+ scope :where_created_at_between, ->(period_range) do
+ where('created_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)
end
end
diff --git a/app/models/compliance_control_set.rb b/app/models/compliance_control_set.rb
index 40e269146..1ab0fd6d2 100644
--- a/app/models/compliance_control_set.rb
+++ b/app/models/compliance_control_set.rb
@@ -4,7 +4,7 @@ class ComplianceControlSet < ActiveRecord::Base
has_many :compliance_controls, dependent: :destroy
validates :name, presence: true
- scope :where_updated_at_between, ->(start_date, end_date) do
- where('updated_at BETWEEN ? AND ?', start_date, end_date)
+ scope :where_updated_at_between, ->(period_range) do
+ where('updated_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)
end
end
diff --git a/app/models/import.rb b/app/models/import.rb
index 74f7ef10c..64f713914 100644
--- a/app/models/import.rb
+++ b/app/models/import.rb
@@ -9,8 +9,8 @@ class Import < ActiveRecord::Base
has_many :resources, class_name: "ImportResource", dependent: :destroy
has_many :children, foreign_key: :parent_id, class_name: "Import", dependent: :destroy
- scope :where_started_at_between, ->(start_date, end_date) do
- where('started_at BETWEEN ? AND ?', start_date, end_date)
+ scope :where_started_at_in, ->(period_range) do
+ where('started_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)
end
extend Enumerize
diff --git a/app/views/compliance_check_sets/_filters.html.slim b/app/views/compliance_check_sets/_filters.html.slim
index a9467a7fe..c5c968c6a 100644
--- a/app/views/compliance_check_sets/_filters.html.slim
+++ b/app/views/compliance_check_sets/_filters.html.slim
@@ -15,8 +15,8 @@
= f.label Import.human_attribute_name(:created_at), required: false, class: 'control-label'
.filter_menu
= f.simple_fields_for :created_at do |p|
- = p.input :begin, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true
- = p.input :end, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true
+ = p.input :start_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true
+ = p.input :end_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true
.actions
= link_to t('actions.erase'), @compliance_checks_sets, class: 'btn btn-link'
diff --git a/app/views/compliance_control_sets/_filters.html.slim b/app/views/compliance_control_sets/_filters.html.slim
index 56cac8bd2..f70a997f5 100644
--- a/app/views/compliance_control_sets/_filters.html.slim
+++ b/app/views/compliance_control_sets/_filters.html.slim
@@ -14,8 +14,8 @@
= f.label Import.human_attribute_name(:updated_at), required: false, class: 'control-label'
.filter_menu
= f.simple_fields_for :updated_at do |p|
- = p.input :begin, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true
- = p.input :end, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true
+ = p.input :start_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true
+ = p.input :end_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @end_range, include_blank: @end_range ? false : true
.actions
= link_to t('actions.erase'), @compliance_control_set, class: 'btn btn-link'
diff --git a/app/views/imports/_filters.html.slim b/app/views/imports/_filters.html.slim
index 85099b99a..b1f23e2c8 100644
--- a/app/views/imports/_filters.html.slim
+++ b/app/views/imports/_filters.html.slim
@@ -15,8 +15,8 @@
= f.label Import.human_attribute_name(:started_at), required: false, class: 'control-label'
.filter_menu
= f.simple_fields_for :started_at do |p|
- = p.input :begin, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
- = p.input :end, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
+ = p.input :start_date, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
+ = p.input :end_date, as: :date, label: false, wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
.actions
= link_to t('actions.erase'), workbench_imports_path(@workbench), class: 'btn btn-link'
diff --git a/app/views/time_tables/_filter.html.slim b/app/views/time_tables/_filter.html.slim
index 043aa87d0..a4d90d1cc 100644
--- a/app/views/time_tables/_filter.html.slim
+++ b/app/views/time_tables/_filter.html.slim
@@ -14,8 +14,9 @@
.form-group.togglable
= f.label Chouette::TimeTable.human_attribute_name(:bounding_dates), required: false, class: 'control-label'
.filter_menu
- = f.input :start_date_gteq, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
- = f.input :end_date_lteq, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
+ = f.simple_fields_for :bounding_dates do |p|
+ = f.input :start_date, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
+ = f.input :end_date, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
.actions
diff --git a/app/views/workbenches/_filters.html.slim b/app/views/workbenches/_filters.html.slim
index 8da629e9c..4d9e0066c 100644
--- a/app/views/workbenches/_filters.html.slim
+++ b/app/views/workbenches/_filters.html.slim
@@ -25,8 +25,8 @@
= f.label Referential.human_attribute_name(:validity_period), required: false, class: 'control-label'
.filter_menu
= f.simple_fields_for :validity_period do |p|
- = p.input :begin_gteq, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
- = p.input :end_lteq, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
+ = p.input :start_date, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
+ = p.input :end_date, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
.actions
= link_to t('actions.erase'), @workbench, class: 'btn btn-link'
diff --git a/spec/features/workbenches_spec.rb b/spec/features/workbenches_spec.rb
index 14809dec1..e33f8c134 100644
--- a/spec/features/workbenches_spec.rb
+++ b/spec/features/workbenches_spec.rb
@@ -113,8 +113,8 @@ describe 'Workbenches', type: :feature do
it 'should show results for referential in range' do
dates = referential.validity_period.to_a
- fill_validity_field dates[0], 'begin_gteq'
- fill_validity_field dates[1], 'end_lteq'
+ fill_validity_field dates[0], 'start_date'
+ fill_validity_field dates[1], 'end_date'
click_button I18n.t('actions.filter')
expect(page).to have_content(referential.name)
@@ -123,8 +123,8 @@ describe 'Workbenches', type: :feature do
it 'should keep filtering on sort' do
dates = referential.validity_period.to_a
- fill_validity_field dates[0], 'begin_gteq'
- fill_validity_field dates[1], 'end_lteq'
+ fill_validity_field dates[0], 'start_date'
+ fill_validity_field dates[1], 'end_date'
click_button I18n.t('actions.filter')
find('a[href*="&sort=validity_period"]').click
@@ -134,8 +134,8 @@ describe 'Workbenches', type: :feature do
end
it 'should not show results for out off range' do
- fill_validity_field(Date.today - 2.year, 'begin_gteq')
- fill_validity_field(Date.today - 1.year, 'end_lteq')
+ fill_validity_field(Date.today - 2.year, 'start_date')
+ fill_validity_field(Date.today - 1.year, 'end_date')
click_button I18n.t('actions.filter')
expect(page).to_not have_content(referential.name)
@@ -144,12 +144,12 @@ describe 'Workbenches', type: :feature do
it 'should keep value on submit' do
dates = referential.validity_period.to_a
- ['begin_gteq', 'end_lteq'].each_with_index do |field, index|
+ ['start_date', 'end_date'].each_with_index do |field, index|
fill_validity_field dates[index], field
end
click_button I18n.t('actions.filter')
- ['begin_gteq', 'end_lteq'].each_with_index do |field, index|
+ ['start_date', 'end_date'].each_with_index do |field, index|
expect(find("#q_validity_period_#{field}_3i").value).to eq dates[index].day.to_s
expect(find("#q_validity_period_#{field}_2i").value).to eq dates[index].month.to_s
expect(find("#q_validity_period_#{field}_1i").value).to eq dates[index].year.to_s