mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Change 'pick-up date' to 'available on', provide absolute dates in options
This commit is contained in:
@@ -102,7 +102,7 @@ nav#filters {
|
||||
padding: 10px;
|
||||
margin-top: 15px;
|
||||
border: 2px solid white;
|
||||
font-size: 1.5em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
float: left;
|
||||
|
||||
@@ -22,6 +22,19 @@ module OrderCyclesHelper
|
||||
options_for_select(options, current_distributor)
|
||||
end
|
||||
|
||||
def order_cycle_options
|
||||
@order_cycles.
|
||||
select { |oc| oc.distributors.include? current_distributor }.
|
||||
map { |oc| [order_cycle_close_to_s(oc.orders_close_at),
|
||||
oc.id] }
|
||||
end
|
||||
|
||||
def order_cycle_close_to_s(orders_close_at)
|
||||
"%s (%s)" % [orders_close_at.strftime("#{orders_close_at.day.ordinalize} %b"),
|
||||
distance_of_time_in_words_to_now(orders_close_at)]
|
||||
end
|
||||
|
||||
|
||||
def order_cycles_enabled?
|
||||
OpenFoodWeb::FeatureToggle.enabled? :order_cycles
|
||||
end
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
.columns.six
|
||||
%h2 When do you want your order?
|
||||
%p No products are displayed until you select a date.
|
||||
= form_for current_order(true), :html => {:id => 'order_cycle_select'} do |f|
|
||||
= f.hidden_field :distributor_id, :value => @enterprise.id
|
||||
.order-cycles
|
||||
= f.select :order_cycle_id, @order_cycles.select{ |oc| oc.distributors.include? current_distributor }.collect {|o| [ distance_of_time_in_words_to_now(o.orders_close_at), o.id ] }, {include_blank: 'Pick-up date'}
|
||||
= hidden_field_tag :commit, 'Choose Order Cycle'
|
||||
.columns.three
|
||||
= form_for current_order(true), :html => {:id => 'order_cycle_select'} do |f|
|
||||
= f.hidden_field :distributor_id, :value => @enterprise.id
|
||||
.order-cycles
|
||||
= f.select :order_cycle_id, order_cycle_options, {include_blank: 'Available On'}
|
||||
= hidden_field_tag :commit, 'Choose Order Cycle'
|
||||
|
||||
@@ -80,7 +80,7 @@ feature %q{
|
||||
# When I am in that order cycle
|
||||
visit root_path
|
||||
click_link d.name
|
||||
select '7 days', from: 'order_order_cycle_id'
|
||||
select_by_value oc.id, from: 'order_order_cycle_id'
|
||||
|
||||
# And I view the product
|
||||
click_link p.name
|
||||
|
||||
@@ -90,7 +90,7 @@ feature %q{
|
||||
|
||||
make_order_cycle
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# When I add some apples and some garlic to my cart
|
||||
@@ -117,7 +117,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link "FruitAndVeg"
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# When I add some bananas and zucchini to my cart
|
||||
@@ -158,7 +158,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link "Edible garden"
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# When I add the first to my cart
|
||||
@@ -178,7 +178,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link "Edible garden"
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# When I add some apples and some garlic to my cart
|
||||
@@ -206,7 +206,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link "Edible garden"
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# When I add two products to my cart that share the same enterprise fee
|
||||
@@ -277,7 +277,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link "Edible garden"
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
click_link @product_1.name
|
||||
@@ -300,7 +300,7 @@ feature %q{
|
||||
login_to_consumer_section
|
||||
click_link 'Edible garden'
|
||||
|
||||
select distance_of_time_in_words_to_now(@order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value @order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
click_link 'Fuji apples'
|
||||
|
||||
@@ -100,7 +100,7 @@ feature %q{
|
||||
click_link d1.name
|
||||
|
||||
# And when I choose an order cycle
|
||||
select distance_of_time_in_words_to_now(order_cycle.orders_close_at), :from => 'order_order_cycle_id'
|
||||
select_by_value order_cycle.id, :from => 'order_order_cycle_id'
|
||||
page.execute_script "$('#order_order_cycle_id').trigger('change');"
|
||||
|
||||
# Then I should see the distributor details
|
||||
|
||||
@@ -14,6 +14,12 @@ module WebHelper
|
||||
end
|
||||
end
|
||||
|
||||
def select_by_value(value, options={})
|
||||
from = options.delete :from
|
||||
page.find_by_id(from).find("option[value='#{value}']").select_option
|
||||
end
|
||||
|
||||
|
||||
def should_have_failed
|
||||
page.status_code.should == 200
|
||||
errors.count.should > 0
|
||||
|
||||
Reference in New Issue
Block a user