Add timepicker helper with added expectation

This commit is contained in:
Maikel Linke
2024-12-11 16:21:56 +11:00
parent 0f706a9929
commit a30f764a22
2 changed files with 16 additions and 20 deletions

View File

@@ -15,6 +15,17 @@ module Features
select_date_from_datepicker(to)
end
def select_datetime_from(element, datetime)
datetime = Time.zone.parse(datetime) if datetime.is_a? String
# Wait for timepicker element to be loaded:
expect(page).to have_css "#{element}.datetimepicker"
find(element).click
select_datetime_from_datepicker(datetime)
close_datepicker
end
def select_date_from_datepicker(date)
within ".flatpickr-calendar.open" do
# Unfortunately, flatpickr doesn't notice a change of year when we do

View File

@@ -39,10 +39,7 @@ RSpec.describe '
expect(page).to have_field 'order_cycle_name', with: "Order cycle name updated"
expect(page).to have_content('Your order cycle has been updated.')
# change date range field value
find('#order_cycle_orders_close_at').click
select_datetime_from_datepicker Time.zone.parse("2024-03-30 00:00")
close_datepicker
select_datetime_from "#order_cycle_orders_close_at", "2024-03-30 00:00"
expect(page).to have_content('You have unsaved changes')
# click save to open warning modal
@@ -61,10 +58,7 @@ RSpec.describe '
login_as_admin
visit edit_admin_order_cycle_path(order_cycle)
# change date range field value
find('#order_cycle_orders_close_at').click
select_datetime_from_datepicker Time.zone.parse("2024-03-30 00:00")
close_datepicker
select_datetime_from "#order_cycle_orders_open_at", "2024-03-30 00:00"
# click save to open warning modal
click_button('Save')
@@ -94,10 +88,7 @@ RSpec.describe '
expect(page).to have_field 'order_cycle_name', with: 'OC1 name updated'
expect(page).to have_content('Your order cycle has been updated.')
# Now change date range field value
find('#order_cycle_orders_close_at').click
select_datetime_from_datepicker Time.zone.parse("2024-03-30 00:00")
close_datepicker
select_datetime_from "#order_cycle_orders_close_at", "2024-03-30 00:00"
expect(page).to have_content('You have unsaved changes')
click_button('Save')
@@ -126,10 +117,7 @@ RSpec.describe '
expect(page).to have_content('Your order cycle has been updated.')
expect(page).to have_field 'order_cycle_name', with: "Order cycle name updated"
# change date range field value
find('#order_cycle_orders_close_at').click
select_datetime_from_datepicker Time.zone.parse("2024-03-30 00:00")
close_datepicker
select_datetime_from "#order_cycle_orders_close_at", "2024-03-30 00:00"
expect(page).to have_content('You have unsaved changes')
@@ -161,10 +149,7 @@ RSpec.describe '
expect(page).to have_content('Your order cycle has been updated.')
expect(page.find('#order_cycle_name').value).to eq 'OC1 name updated'
# Now change date range field value
find('#order_cycle_orders_close_at').click
select_datetime_from_datepicker Time.zone.parse("2024-03-30 00:00")
close_datepicker
select_datetime_from "#order_cycle_orders_close_at", "2024-03-30 00:00"
expect(page).to have_content('You have unsaved changes')
sleep(2)