mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Test editing an order cycle - all data is displayed
This commit is contained in:
@@ -19,10 +19,10 @@
|
||||
%th Supplier
|
||||
%th Products
|
||||
%tbody{'ng-repeat' => 'exchange in order_cycle.incoming_exchanges'}
|
||||
%tr
|
||||
%tr.supplier
|
||||
%td.active= check_box_tag 'order_cycle_exchange_{{ $index }}_active', 1, 1, 'ng-model' => 'exchange.active', 'id' => 'order_cycle_exchange_{{ $index }}_active'
|
||||
%td {{ enterprises[exchange.enterprise_id].name }}
|
||||
%td= f.submit 'Products', 'ng-click' => 'toggleProducts($event, exchange)'
|
||||
%td.supplier_name {{ enterprises[exchange.enterprise_id].name }}
|
||||
%td.products= f.submit 'Products', 'ng-click' => 'toggleProducts($event, exchange)'
|
||||
%tr.products{'ng-show' => 'exchange.showProducts'}
|
||||
%td{:colspan => 3}
|
||||
.exchange-product{'ng-repeat' => 'product in enterprises[exchange.enterprise_id].supplied_products'}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
r.element :order_cycle, @order_cycle do
|
||||
r.element :id
|
||||
r.element :name
|
||||
r.element :orders_open_at
|
||||
r.element :orders_close_at
|
||||
r.element :orders_open_at, @order_cycle.orders_open_at.to_s
|
||||
r.element :orders_close_at, @order_cycle.orders_close_at.to_s
|
||||
r.element :coordinator_id
|
||||
r.list_of :exchanges do |exchange|
|
||||
r.element :sender_id
|
||||
|
||||
@@ -5,22 +5,20 @@ FactoryGirl.define do
|
||||
factory :order_cycle, :parent => :simple_order_cycle do
|
||||
after(:create) do |oc|
|
||||
# Suppliers
|
||||
create(:exchange, :order_cycle => oc, :receiver => oc.coordinator)
|
||||
create(:exchange, :order_cycle => oc, :receiver => oc.coordinator)
|
||||
ex1 = create(:exchange, :order_cycle => oc, :receiver => oc.coordinator)
|
||||
ex2 = create(:exchange, :order_cycle => oc, :receiver => oc.coordinator)
|
||||
|
||||
# Distributors
|
||||
create(:exchange, :order_cycle => oc, :sender => oc.coordinator)
|
||||
create(:exchange, :order_cycle => oc, :sender => oc.coordinator)
|
||||
|
||||
# Products with images
|
||||
ex = oc.exchanges.first
|
||||
|
||||
2.times do
|
||||
product = create(:product)
|
||||
[ex1, ex2].each do |exchange|
|
||||
product = create(:product, supplier: exchange.sender)
|
||||
image = File.open(File.expand_path('../../app/assets/images/logo.jpg', __FILE__))
|
||||
Spree::Image.create({:viewable_id => product.master.id, :viewable_type => 'Spree::Variant', :alt => "position 1", :attachment => image, :position => 1})
|
||||
|
||||
ex.variants << product.master
|
||||
exchange.variants << product.master
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -74,6 +74,54 @@ feature %q{
|
||||
OrderCycle.last.exchanges.first.variants.count.should == 2
|
||||
end
|
||||
|
||||
|
||||
scenario "editing an order cycle" do
|
||||
# Given an order cycle with all the settings
|
||||
oc = create(:order_cycle)
|
||||
|
||||
# When I edit it
|
||||
login_to_admin_section
|
||||
click_link 'Order Cycles'
|
||||
click_link oc.name
|
||||
|
||||
# Then I should see the basic settings
|
||||
sleep(1)
|
||||
page.find('#order_cycle_name').value.should == oc.name
|
||||
page.find('#order_cycle_orders_open_at').value.should == oc.orders_open_at.to_s
|
||||
page.find('#order_cycle_orders_close_at').value.should == oc.orders_close_at.to_s
|
||||
page.find('#order_cycle_coordinator_id').value.to_i.should == oc.coordinator_id
|
||||
|
||||
# And I should see the suppliers with products
|
||||
page.should have_selector 'td.supplier_name', :text => oc.suppliers.first.name
|
||||
page.should have_selector 'td.supplier_name', :text => oc.suppliers.last.name
|
||||
|
||||
page.all('table.exchanges tbody tr.supplier').each do |row|
|
||||
row.find('td.products input').click
|
||||
|
||||
products_row = page.find('table.exchanges tr.products')
|
||||
products_row.should have_selector "input[type='checkbox'][checked='checked']"
|
||||
|
||||
row.find('td.products input').click
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
scenario "updating an order cycle" do
|
||||
# Given an order cycle with all the settings
|
||||
oc = create(:order_cycle)
|
||||
|
||||
# When I go to its edit page
|
||||
login_to_admin_section
|
||||
click_link 'Order Cycles'
|
||||
click_link oc.name
|
||||
|
||||
# And I update it
|
||||
pending
|
||||
|
||||
# Then my updates should have been applied
|
||||
end
|
||||
|
||||
|
||||
scenario "updating many order cycle opening/closing times at once" do
|
||||
# Given three order cycles
|
||||
3.times { create(:order_cycle) }
|
||||
|
||||
Reference in New Issue
Block a user