Change 'pick-up date' to 'available on', provide absolute dates in options

This commit is contained in:
Rohan Mitchell
2013-09-10 09:11:37 +10:00
parent 15d3bff92d
commit 64a3a309f5
7 changed files with 35 additions and 15 deletions

View File

@@ -102,7 +102,7 @@ nav#filters {
padding: 10px;
margin-top: 15px;
border: 2px solid white;
font-size: 1.5em;
width: 100%;
}
float: left;

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -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