Skip to content

Commit 91d71d7

Browse files
committed
Fix wrong value for lteq_datetime predicate
[refs #61]
1 parent 54e9b9f commit 91d71d7

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
ActiveAdmin.setup do |config|
22
config.register_stylesheet 'jquery.xdan.datetimepicker.css'
33
end
4+
5+
Ransack.configure do |config|
6+
config.add_predicate 'gteq_datetime_picker',
7+
arel_predicate: 'gteq'
8+
9+
config.add_predicate 'lteq_datetime_picker',
10+
arel_predicate: 'lt'
11+
end

lib/active_admin_datetimepicker/inputs/filters/date_time_range_input.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ def input_html_options(input_name = gt_input_name, placeholder = gt_input_placeh
1111
end
1212
end
1313

14+
def gt_input_name
15+
column && column.type == :date ? super : "#{method}_gteq_datetime_picker"
16+
end
17+
18+
def lt_input_name
19+
column && column.type == :date ? super : "#{method}_lteq_datetime_picker"
20+
end
21+
1422
end
1523
end
1624
end

spec/filter_form_spec.rb

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
require 'spec_helper'
22

33
describe 'authors index', type: :feature, js: true do
4-
before do
5-
Author.create!(name: "John", last_name: "Doe")
6-
Author.create!(name: "Jane", last_name: "Roe")
7-
end
8-
94
before do
105
add_author_resource
116
end
@@ -54,20 +49,22 @@
5449
before do
5550
Author.create!(name: "Ren",
5651
last_name: "from-20-day-of-month",
57-
created_at: DateTime.now.change(day: 20))
52+
created_at: (Time.now.change(day: 20) - 1.hour).to_s(:db))
5853

5954
Author.create!(name: "Rey",
6055
last_name: "from-the-future",
61-
created_at: DateTime.now.change(day: 20) + 2.hours)
56+
created_at: (Time.now.change(day: 20) + 2.hours).to_s(:db))
57+
58+
# chose 01 and 20 day of the current month
6259

63-
page.find('input#q_created_at_gteq_datetime').click
60+
page.find('input#q_created_at_gteq_datetime_picker').click
6461

6562
page.find('.xdsoft_datetimepicker', visible: true)
6663
.find('.xdsoft_calendar td.xdsoft_date[data-date="1"]').click
6764
page.find('.xdsoft_datetimepicker', visible: true)
6865
.find('.xdsoft_timepicker.active .xdsoft_time.xdsoft_current').click
6966

70-
page.find('input#q_created_at_lteq_datetime').click
67+
page.find('input#q_created_at_lteq_datetime_picker').click
7168

7269
page.find('.xdsoft_datetimepicker', visible: true)
7370
.find('.xdsoft_calendar td.xdsoft_date[data-date="20"]').click
@@ -85,7 +82,7 @@
8582

8683
it 'submit filter form' do
8784
# created_at(Timestamp type) should contain Hours:Minutes, as selected before submit
88-
expect(page.find('#q_created_at_gteq_datetime').value).to match(/\A\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}\z/)
85+
expect(page.find('#q_created_at_gteq_datetime_picker').value).to match(/\A\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}\z/)
8986
end
9087
end
9188
end

0 commit comments

Comments
 (0)