Test editing an order cycle - all data is displayed

This commit is contained in:
Rohan Mitchell
2013-01-10 15:02:56 +11:00
parent d27ef76ead
commit 31ea8540ea
4 changed files with 58 additions and 12 deletions

View File

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

View File

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

View File

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

View File

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