mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Fix Rubocop Metrics/AbcSize and Layout/LineLength errors in complex_creating_specific_time_spec.rb
Not sure if this is correct but it removes the Rubocop violations.
This commit is contained in:
committed by
Filipe
parent
8e47949260
commit
32d16eacd2
@@ -28,7 +28,9 @@ describe '
|
||||
# And some enterprise fees
|
||||
let!(:supplier_fee) { create(:enterprise_fee, enterprise: supplier, name: 'Supplier fee') }
|
||||
let!(:coordinator_fee) { create(:enterprise_fee, enterprise: coordinator, name: 'Coord fee') }
|
||||
let!(:distributor_fee) { create(:enterprise_fee, enterprise: distributor, name: 'Distributor fee') }
|
||||
let!(:distributor_fee) do
|
||||
create(:enterprise_fee, enterprise: distributor, name: 'Distributor fee')
|
||||
end
|
||||
|
||||
before do
|
||||
# Relationships required for interface to work
|
||||
@@ -79,34 +81,26 @@ describe '
|
||||
end
|
||||
|
||||
def select_opening_and_closing_times
|
||||
# If I fill in the basic fields
|
||||
find('#order_cycle_orders_open_at').click
|
||||
# select date
|
||||
select_date_from_datepicker Time.zone.at(order_cycle_opening_time)
|
||||
# select time
|
||||
within(".flatpickr-calendar.open .flatpickr-time") do
|
||||
find('.flatpickr-hour').set('%02d' % order_cycle_opening_time.hour)
|
||||
find('.flatpickr-minute').set('%02d' % order_cycle_opening_time.min)
|
||||
end
|
||||
# hide the datetimepicker
|
||||
find("body").send_keys(:escape)
|
||||
select_time("#order_cycle_orders_open_at", order_cycle_opening_time)
|
||||
select_time("#order_cycle_orders_close_at", order_cycle_opening_time)
|
||||
end
|
||||
|
||||
find('#order_cycle_orders_close_at').click
|
||||
def select_time(selector, time)
|
||||
# If I fill in the basic fields
|
||||
find(selector).click
|
||||
# select date
|
||||
select_date_from_datepicker Time.zone.at(order_cycle_closing_time)
|
||||
select_date_from_datepicker Time.zone.at(time)
|
||||
# select time
|
||||
within(".flatpickr-calendar.open .flatpickr-time") do
|
||||
find('.flatpickr-hour').set('%02d' % order_cycle_closing_time.hour)
|
||||
find('.flatpickr-minute').set('%02d' % order_cycle_closing_time.min)
|
||||
find('.flatpickr-hour').set('%02d' % time.hour)
|
||||
find('.flatpickr-minute').set('%02d' % time.min)
|
||||
end
|
||||
# hide the datetimepicker
|
||||
find("body").send_keys(:escape)
|
||||
end
|
||||
|
||||
def add_supplier_with_fees
|
||||
# I should not be able to add a blank supplier
|
||||
expect(page).to have_select 'new_supplier_id', selected: ''
|
||||
expect(page).to have_button 'Add supplier', disabled: true
|
||||
expect_not_able_to_add_blank_supplier
|
||||
|
||||
# And I add a supplier and some products
|
||||
select 'My supplier', from: 'new_supplier_id'
|
||||
@@ -116,10 +110,7 @@ describe '
|
||||
check "order_cycle_incoming_exchange_0_variants_#{v1.id}"
|
||||
check "order_cycle_incoming_exchange_0_variants_#{v2.id}"
|
||||
|
||||
# I should not be able to re-add the supplier
|
||||
expect(page).not_to have_select 'new_supplier_id', with_options: ['My supplier']
|
||||
expect(page).to have_button 'Add supplier', disabled: true
|
||||
expect(page.all("td.supplier_name").map(&:text)).to eq(['My supplier'])
|
||||
expect_not_able_to_readd_supplier('My supplier')
|
||||
|
||||
# And I add a supplier fee
|
||||
within("tr.supplier-#{supplier.id}") { click_button 'Add fee' }
|
||||
@@ -130,6 +121,17 @@ describe '
|
||||
click_button 'Save and Next'
|
||||
end
|
||||
|
||||
def expect_not_able_to_add_blank_supplier
|
||||
expect(page).to have_select 'new_supplier_id', selected: ''
|
||||
expect(page).to have_button 'Add supplier', disabled: true
|
||||
end
|
||||
|
||||
def expect_not_able_to_readd_supplier(supplier_name)
|
||||
expect(page).not_to have_select 'new_supplier_id', with_options: [supplier_name]
|
||||
expect(page).to have_button 'Add supplier', disabled: true
|
||||
expect(page.all("td.supplier_name").map(&:text)).to eq([supplier_name])
|
||||
end
|
||||
|
||||
def add_distributor_with_fees
|
||||
# And I add a distributor with the same products
|
||||
select 'My distributor', from: 'new_distributor_id'
|
||||
@@ -168,20 +170,27 @@ describe '
|
||||
|
||||
expect(page).to have_unchecked_field "Select all"
|
||||
|
||||
expect_checking_select_all_shipping_methods_works
|
||||
expect_unchecking_select_all_shipping_methods_works
|
||||
|
||||
# Our final selection:
|
||||
check "Pickup - always available"
|
||||
click_button 'Save and Back to List'
|
||||
end
|
||||
|
||||
def expect_checking_select_all_shipping_methods_works
|
||||
# Now test that the "Select all" input is doing what it's supposed to:
|
||||
check "Select all"
|
||||
|
||||
expect(page).to have_checked_field "Pickup - always available"
|
||||
expect(page).to have_checked_field "Delivery - sometimes available"
|
||||
end
|
||||
|
||||
def expect_unchecking_select_all_shipping_methods_works
|
||||
uncheck "Select all"
|
||||
|
||||
expect(page).to have_unchecked_field "Pickup - always available"
|
||||
expect(page).to have_unchecked_field "Delivery - sometimes available"
|
||||
|
||||
# Our final selection:
|
||||
check "Pickup - always available"
|
||||
click_button 'Save and Back to List'
|
||||
end
|
||||
|
||||
def expect_all_data_saved
|
||||
@@ -189,34 +198,47 @@ describe '
|
||||
toggle_columns "Producers", "Shops"
|
||||
|
||||
expect(page).to have_input "oc#{oc.id}[name]", value: "Plums & Avos"
|
||||
expect(page).to have_input "oc#{oc.id}[orders_open_at]",
|
||||
value: Time.zone.at(order_cycle_opening_time), visible: false
|
||||
expect(page).to have_input "oc#{oc.id}[orders_close_at]",
|
||||
value: Time.zone.at(order_cycle_closing_time), visible: false
|
||||
expect(page).to have_content "My coordinator"
|
||||
|
||||
expect_opening_and_closing_times_saved
|
||||
expect(page).to have_selector 'td.producers', text: 'My supplier'
|
||||
expect(page).to have_selector 'td.shops', text: 'My distributor'
|
||||
|
||||
# And it should have some fees
|
||||
expect(oc.exchanges.incoming.first.enterprise_fees).to eq([supplier_fee])
|
||||
expect(oc.coordinator_fees).to eq([coordinator_fee])
|
||||
expect(oc.exchanges.outgoing.first.enterprise_fees).to eq([distributor_fee])
|
||||
|
||||
# And it should have some variants selected
|
||||
expect(oc.exchanges.first.variants.count).to eq(2)
|
||||
expect(oc.exchanges.last.variants.count).to eq(2)
|
||||
|
||||
# And my receival and pickup time and instructions should have been saved
|
||||
exchange = oc.exchanges.incoming.first
|
||||
expect(exchange.receival_instructions).to eq('receival instructions')
|
||||
|
||||
exchange = oc.exchanges.outgoing.first
|
||||
expect(exchange.pickup_time).to eq('pickup time')
|
||||
expect(exchange.pickup_instructions).to eq('pickup instructions')
|
||||
expect(exchange.tag_list).to eq(['wholesale'])
|
||||
expect_fees_saved
|
||||
expect_variants_saved
|
||||
expect_receival_instructions_saved
|
||||
expect_pickup_time_and_instructions_saved
|
||||
|
||||
# And the shipping method should be attached
|
||||
expect(oc.shipping_methods.map(&:name)).to eq(["Pickup - always available"])
|
||||
end
|
||||
|
||||
def expect_opening_and_closing_times_saved
|
||||
expect(page).to have_input "oc#{oc.id}[orders_open_at]",
|
||||
value: Time.zone.at(order_cycle_opening_time), visible: false
|
||||
expect(page).to have_input "oc#{oc.id}[orders_close_at]",
|
||||
value: Time.zone.at(order_cycle_closing_time), visible: false
|
||||
end
|
||||
|
||||
def expect_fees_saved
|
||||
expect(oc.exchanges.incoming.first.enterprise_fees).to eq([supplier_fee])
|
||||
expect(oc.coordinator_fees).to eq([coordinator_fee])
|
||||
expect(oc.exchanges.outgoing.first.enterprise_fees).to eq([distributor_fee])
|
||||
end
|
||||
|
||||
def expect_variants_saved
|
||||
expect(oc.exchanges.first.variants.count).to eq(2)
|
||||
expect(oc.exchanges.last.variants.count).to eq(2)
|
||||
end
|
||||
|
||||
def expect_receival_instructions_saved
|
||||
exchange = oc.exchanges.incoming.first
|
||||
expect(exchange.receival_instructions).to eq('receival instructions')
|
||||
end
|
||||
|
||||
def expect_pickup_time_and_instructions_saved
|
||||
exchange = oc.exchanges.outgoing.first
|
||||
expect(exchange.pickup_time).to eq('pickup time')
|
||||
expect(exchange.pickup_instructions).to eq('pickup instructions')
|
||||
expect(exchange.tag_list).to eq(['wholesale'])
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user