Fixing specs broken by faster PhantomJS

This commit is contained in:
Rob Harrington
2016-05-05 13:50:58 +10:00
parent 0586a71071
commit 245db8971a
7 changed files with 240 additions and 206 deletions

View File

@@ -12,7 +12,7 @@ angular.module('admin.orderCycles')
$scope.StatusMessage = StatusMessage
$scope.loaded = ->
Enterprise.loaded && EnterpriseFee.loaded
Enterprise.loaded && EnterpriseFee.loaded && OrderCycle.loaded
$scope.suppliedVariants = (enterprise_id) ->
Enterprise.suppliedVariants(enterprise_id)

View File

@@ -20,7 +20,7 @@ angular.module('admin.orderCycles').controller "AdminSimpleCreateOrderCycleCtrl"
OrderCycle.order_cycle.coordinator_id = enterprise.id
$scope.loaded = ->
Enterprise.loaded && EnterpriseFee.loaded
Enterprise.loaded && EnterpriseFee.loaded && OrderCycle.loaded
$scope.removeDistributionOfVariant = angular.noop

View File

@@ -3,14 +3,14 @@
= f.label :name
.six.columns.omega
- if viewing_as_coordinator_of?(@order_cycle)
= f.text_field :name, 'ng-model' => 'order_cycle.name', 'required' => true
= f.text_field :name, 'ng-model' => 'order_cycle.name', 'required' => true, 'ng-disabled' => '!loaded()'
- else
{{ order_cycle.name }}
.two.columns
= f.label :orders_open_at, 'Orders open'
.omega.six.columns
- if viewing_as_coordinator_of?(@order_cycle)
= f.text_field :orders_open_at, 'datetimepicker' => 'order_cycle.orders_open_at', 'ng-model' => 'order_cycle.orders_open_at'
= f.text_field :orders_open_at, 'datetimepicker' => 'order_cycle.orders_open_at', 'ng-model' => 'order_cycle.orders_open_at', 'ng-disabled' => '!loaded()'
- else
{{ order_cycle.orders_open_at }}
@@ -23,6 +23,6 @@
= f.label :orders_close_at, 'Orders close'
.six.columns.omega
- if viewing_as_coordinator_of?(@order_cycle)
= f.text_field :orders_close_at, 'datetimepicker' => 'order_cycle.orders_close_at', 'ng-model' => 'order_cycle.orders_close_at'
= f.text_field :orders_close_at, 'datetimepicker' => 'order_cycle.orders_close_at', 'ng-model' => 'order_cycle.orders_close_at', 'ng-disabled' => '!loaded()'
- else
{{ order_cycle.orders_close_at }}

View File

@@ -18,12 +18,12 @@ feature %q{
end
context "displaying the list of line items" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { FactoryGirl.create(:order_with_distributor, state: 'address', completed_at: nil ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:li3) { FactoryGirl.create(:line_item, order: o3 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { create(:order_with_distributor, state: 'address', completed_at: nil ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
let!(:li3) { create(:line_item, order: o3 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -32,15 +32,15 @@ feature %q{
it "displays a list of line items" do
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to_not have_selector "tr#li_#{li3.id}"
expect(page).to have_no_selector "tr#li_#{li3.id}"
end
end
context "displaying individual columns" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, bill_address: FactoryGirl.create(:address) ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, bill_address: nil ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2, product: FactoryGirl.create(:product_with_option_types) ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, bill_address: create(:address) ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, bill_address: nil ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2, product: create(:product_with_option_types) ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -90,8 +90,8 @@ feature %q{
end
context "tracking changes" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, :quantity => 5 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1, :quantity => 5 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -105,8 +105,8 @@ feature %q{
end
context "submitting data to the server" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, :quantity => 5 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1, :quantity => 5 ) }
before :each do
Spree::Config.set(allow_backorders: false)
@@ -116,19 +116,19 @@ feature %q{
context "when acceptable data is sent to the server" do
it "displays an update button which submits pending changes" do
expect(page).to_not have_selector "#save-bar"
expect(page).to have_no_selector "#save-bar"
fill_in "quantity", :with => 2
expect(page).to have_selector "input[name='quantity'].ng-dirty"
expect(page).to have_selector "#save-bar", text: "You have unsaved changes"
click_button "Save Changes"
expect(page).to have_selector "#save-bar", text: "All changes saved"
expect(page).to_not have_selector "input[name='quantity'].ng-dirty"
expect(page).to have_no_selector "input[name='quantity'].ng-dirty"
end
end
context "when unacceptable data is sent to the server" do
it "displays an update button which submits pending changes" do
expect(page).to_not have_selector "#save-bar"
expect(page).to have_no_selector "#save-bar"
fill_in "quantity", :with => li1.variant.on_hand + li1.quantity + 10
expect(page).to have_selector "input[name='quantity'].ng-dirty"
expect(page).to have_selector "#save-bar", text: "You have unsaved changes"
@@ -146,28 +146,28 @@ feature %q{
admin_user = quick_login_as_admin
end
let!(:p1) { FactoryGirl.create(:product_with_option_types, group_buy: true, group_buy_unit_size: 5000, variant_unit: "weight", variants: [FactoryGirl.create(:variant, unit_value: 1000)] ) }
let!(:p1) { create(:product_with_option_types, group_buy: true, group_buy_unit_size: 5000, variant_unit: "weight", variants: [create(:variant, unit_value: 1000)] ) }
let!(:v1) { p1.variants.first }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, variant: v1, :quantity => 5, :final_weight_volume => 1000, price: 10.00 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1, variant: v1, :quantity => 5, :final_weight_volume => 1000, price: 10.00 ) }
before { v1.update_attribute(:on_hand, 100)}
context "modifying the weight/volume of a line item" do
it "price is altered" do
visit '/admin/orders/bulk_management'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Weight/Volume").click
first("div#columns-dropdown div.menu div.menu_item", text: "Price").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Weight/Volume").click
find("div#columns-dropdown div.menu div.menu_item", text: "Price").click
# hide dropdown
first("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown", :text => "COLUMNS").click
within "tr#li_#{li1.id}" do
expect(page).to have_field "price", with: "$50.00"
fill_in "final_weight_volume", :with => 2000
expect(page).to have_field "price", with: "$100.00"
end
click_button "Save Changes"
expect(page).to_not have_selector "#save-bar"
expect(page).to have_no_selector "#save-bar"
li1.reload
expect(li1.final_weight_volume).to eq 2000
expect(li1.price).to eq 20.00
@@ -177,9 +177,9 @@ feature %q{
context "modifying the quantity of a line item" do
it "price is altered" do
visit '/admin/orders/bulk_management'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Price").click
first("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Price").click
find("div#columns-dropdown", :text => "COLUMNS").click
within "tr#li_#{li1.id}" do
expect(page).to have_field "price", with: "$#{format("%.2f",li1.price * 5)}"
fill_in "quantity", :with => 6
@@ -191,9 +191,9 @@ feature %q{
context "modifying the quantity of a line item" do
it "weight/volume is altered" do
visit '/admin/orders/bulk_management'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Weight/Volume").click
first("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Weight/Volume").click
find("div#columns-dropdown", :text => "COLUMNS").click
within "tr#li_#{li1.id}" do
expect(page).to have_field "final_weight_volume", with: "#{li1.final_weight_volume.round}"
fill_in "quantity", :with => 6
@@ -213,11 +213,11 @@ feature %q{
expect(page).to have_selector "th", :text => "QUANTITY"
expect(page).to have_selector "th", :text => "MAX"
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Producer").click
first("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Producer").click
find("div#columns-dropdown", :text => "COLUMNS").click
expect(page).to_not have_selector "th", :text => "PRODUCER"
expect(page).to have_no_selector "th", :text => "PRODUCER"
expect(page).to have_selector "th", :text => "NAME"
expect(page).to have_selector "th", :text => "ORDER DATE"
expect(page).to have_selector "th", :text => "PRODUCT: UNIT"
@@ -230,60 +230,64 @@ feature %q{
context "supplier filter" do
let!(:s1) { create(:supplier_enterprise) }
let!(:s2) { create(:supplier_enterprise) }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: create(:simple_order_cycle) ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, product: create(:product, supplier: s1) ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o1, product: create(:product, supplier: s2) ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: create(:simple_order_cycle) ) }
let!(:li1) { create(:line_item, order: o1, product: create(:product, supplier: s1) ) }
let!(:li2) { create(:line_item, order: o1, product: create(:product, supplier: s2) ) }
before :each do
visit '/admin/orders/bulk_management'
end
it "displays a select box for producers, which filters line items by the selected supplier" do
supplier_names = ["All"]
Enterprise.is_primary_producer.each{ |e| supplier_names << e.name }
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
open_select2 "div.select2-container#s2id_supplier_filter"
supplier_names.each { |sn| expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: sn }
expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: "All"
Enterprise.is_primary_producer.map(&:name).each do |sn|
expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: sn
end
close_select2 "div.select2-container#s2id_supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
select2_select s1.name, from: "supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
end
it "displays all line items when 'All' is selected from supplier filter" do
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
select2_select s1.name, from: "supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select "All", from: "supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
end
end
context "distributor filter" do
let!(:d1) { create(:distributor_enterprise) }
let!(:d2) { create(:distributor_enterprise) }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1, order_cycle: create(:simple_order_cycle) ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2, order_cycle: create(:simple_order_cycle) ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1, order_cycle: create(:simple_order_cycle) ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2, order_cycle: create(:simple_order_cycle) ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
before :each do
visit '/admin/orders/bulk_management'
end
it "displays a select box for distributors, which filters line items by the selected distributor" do
distributor_names = ["All"]
Enterprise.is_distributor.each{ |e| distributor_names << e.name }
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
open_select2 "div.select2-container#s2id_distributor_filter"
distributor_names.each { |dn| expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: dn }
expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: "All"
Enterprise.is_distributor.map(&:name).each do |dn|
expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: dn
end
close_select2 "div.select2-container#s2id_distributor_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
select2_select d1.name, from: "distributor_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
end
it "displays all line items when 'All' is selected from distributor filter" do
@@ -291,7 +295,7 @@ feature %q{
expect(page).to have_selector "tr#li_#{li2.id}"
select2_select d1.name, from: "distributor_filter"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to_not have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select "All", from: "distributor_filter"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
@@ -300,25 +304,25 @@ feature %q{
context "order_cycle filter" do
let!(:distributor) { create(:distributor_enterprise) }
let!(:oc1) { FactoryGirl.create(:simple_order_cycle, distributors: [distributor]) }
let!(:oc2) { FactoryGirl.create(:simple_order_cycle, distributors: [distributor]) }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: oc1 ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: oc2 ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:oc1) { create(:simple_order_cycle, distributors: [distributor]) }
let!(:oc2) { create(:simple_order_cycle, distributors: [distributor]) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: oc1 ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, order_cycle: oc2 ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
before do
visit '/admin/orders/bulk_management'
end
it "displays a select box for order cycles, which filters line items by the selected order cycle" do
expect(page).to have_select2 'order_cycle_filter', with_options: OrderCycle.pluck(:name).unshift("All")
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to have_select2 'order_cycle_filter', with_options: OrderCycle.pluck(:name).unshift("All")
select2_select oc1.name, from: "order_cycle_filter"
expect(page).to_not have_selector "#loading img.spinner"
expect(page).to have_no_selector "#loading img.spinner"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to_not have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
end
it "displays all line items when 'All' is selected from order_cycle filter" do
@@ -326,7 +330,7 @@ feature %q{
expect(page).to have_selector "tr#li_#{li2.id}"
select2_select oc1.name, from: "order_cycle_filter"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to_not have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select "All", from: "order_cycle_filter"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
@@ -338,42 +342,46 @@ feature %q{
let!(:s2) { create(:supplier_enterprise) }
let!(:d1) { create(:distributor_enterprise) }
let!(:d2) { create(:distributor_enterprise) }
let!(:oc1) { FactoryGirl.create(:simple_order_cycle, suppliers: [s1], distributors: [d1] ) }
let!(:oc2) { FactoryGirl.create(:simple_order_cycle, suppliers: [s2], distributors: [d2] ) }
let!(:p1) { FactoryGirl.create(:product, supplier: s1) }
let!(:p2) { FactoryGirl.create(:product, supplier: s2) }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1, order_cycle: oc1 ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2, order_cycle: oc2 ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, product: p1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2, product: p2 ) }
let!(:oc1) { create(:simple_order_cycle, suppliers: [s1], distributors: [d1] ) }
let!(:oc2) { create(:simple_order_cycle, suppliers: [s2], distributors: [d2] ) }
let!(:p1) { create(:product, supplier: s1) }
let!(:p2) { create(:product, supplier: s2) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1, order_cycle: oc1 ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2, order_cycle: oc2 ) }
let!(:li1) { create(:line_item, order: o1, product: p1 ) }
let!(:li2) { create(:line_item, order: o2, product: p2 ) }
before :each do
visit '/admin/orders/bulk_management'
end
it "allows filters to be used in combination" do
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
select2_select oc1.name, from: "order_cycle_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select d1.name, from: "distributor_filter"
select2_select s1.name, from: "supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select d2.name, from: "distributor_filter"
select2_select s2.name, from: "supplier_filter"
expect(page).to_not have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_no_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
select2_select oc2.name, from: "order_cycle_filter"
expect(page).to_not have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_no_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
end
it "displays a 'Clear All' button which sets all select filters to 'All'" do
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
select2_select oc1.name, from: "order_cycle_filter"
select2_select d1.name, from: "distributor_filter"
select2_select s1.name, from: "supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to_not have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
expect(page).to have_button "Clear All"
click_button "Clear All"
expect(page).to have_selector "div#s2id_order_cycle_filter a.select2-choice", text: "All"
@@ -386,12 +394,12 @@ feature %q{
end
context "using quick search" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:li3) { FactoryGirl.create(:line_item, order: o3 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
let!(:li3) { create(:line_item, order: o3 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -402,23 +410,23 @@ feature %q{
end
it "filters line items based on their attributes and the contents of the quick search input" do
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li3.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to have_selector "tr#li_#{li3.id}"
fill_in "quick_search", :with => o1.email
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li3.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}", true
expect(page).to have_no_selector "tr#li_#{li3.id}"
end
end
context "using date restriction controls" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: (Date.current - 8).strftime("%F %T") ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: (Date.current + 2).strftime("%F %T") ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1, :quantity => 1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2, :quantity => 2 ) }
let!(:li3) { FactoryGirl.create(:line_item, order: o3, :quantity => 3 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: (Date.current - 8).strftime("%F %T") ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o3) { create(:order_with_distributor, state: 'complete', completed_at: (Date.current + 2).strftime("%F %T") ) }
let!(:li1) { create(:line_item, order: o1, :quantity => 1 ) }
let!(:li2) { create(:line_item, order: o2, :quantity => 2 ) }
let!(:li3) { create(:line_item, order: o3, :quantity => 3 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -434,21 +442,21 @@ feature %q{
end
it "only loads line items whose orders meet the date restriction criteria" do
expect(page).to_not have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li3.id}", visible: true
expect(page).to have_no_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li3.id}"
end
it "displays only line items whose orders meet the date restriction criteria, when changed" do
fill_in "start_date_filter", :with => (Date.current - 9).strftime("%F")
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li3.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to have_no_selector "tr#li_#{li3.id}"
fill_in "end_date_filter", :with => (Date.current + 3).strftime("%F")
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li3.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
expect(page).to have_selector "tr#li_#{li3.id}"
end
context "when the form is dirty" do
@@ -481,10 +489,10 @@ feature %q{
end
context "bulk action controls" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -512,15 +520,15 @@ feature %q{
context "performing actions" do
it "deletes selected items" do
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
within("tr#li_#{li2.id} td.bulk") do
check "bulk"
end
find("div#bulk-actions-dropdown").click
find("div#bulk-actions-dropdown div.menu_item", :text => "Delete Selected" ).click
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to_not have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_selector "tr#li_#{li1.id}"
expect(page).to have_no_selector "tr#li_#{li2.id}"
end
end
@@ -540,18 +548,18 @@ feature %q{
find("div#bulk-actions-dropdown").click
find("div#bulk-actions-dropdown div.menu_item", :text => "Delete Selected" ).click
fill_in "quick_search", with: ''
expect(page).to_not have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
expect(page).to have_no_selector "tr#li_#{li1.id}"
expect(page).to have_selector "tr#li_#{li2.id}"
end
end
end
context "using action buttons" do
context "using edit buttons" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -564,7 +572,7 @@ feature %q{
page.driver.dismiss_modal :confirm, text: "Unsaved changes exist and will be lost if you continue." do
within "tr#li_#{li1.id}" do
fill_in "quantity", with: (li1.quantity + 1)
first("a.edit-order").click
find("a.edit-order").click
end
end
@@ -575,17 +583,17 @@ feature %q{
# And try again
within "tr#li_#{li1.id}" do
first("a.edit-order").click
find("a.edit-order").click
end
expect(URI.parse(current_url).path).to eq "/admin/orders/#{o1.number}/edit"
end
end
context "using delete buttons" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -593,8 +601,8 @@ feature %q{
it "removes a line item when the relevant delete button is clicked" do
expect(page).to have_selector "a.delete-line-item", :count => 2
first("a.delete-line-item").click
expect(page).to_not have_selector "a.delete-line-item", :count => 2
find("tr#li_#{li1.id} a.delete-line-item").click
expect(page).to have_no_selector "a.delete-line-item", :count => 2
expect(page).to have_selector "a.delete-line-item", :count => 1
visit '/admin/orders/bulk_management'
expect(page).to have_selector "a.delete-line-item", :count => 1
@@ -603,15 +611,15 @@ feature %q{
end
context "clicking the link on variant name" do
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { FactoryGirl.create(:line_item, order: o1 ) }
let!(:li2) { FactoryGirl.create(:line_item, order: o2 ) }
let!(:p3) { FactoryGirl.create(:product_with_option_types, group_buy: true, group_buy_unit_size: 5000, variant_unit: "weight", variants: [FactoryGirl.create(:variant, unit_value: 1000)] ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li1) { create(:line_item, order: o1 ) }
let!(:li2) { create(:line_item, order: o2 ) }
let!(:p3) { create(:product_with_option_types, group_buy: true, group_buy_unit_size: 5000, variant_unit: "weight", variants: [create(:variant, unit_value: 1000)] ) }
let!(:v3) { p3.variants.first }
let!(:o3) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li3) { FactoryGirl.create(:line_item, order: o3, variant: v3, quantity: 3, max_quantity: 6 ) }
let!(:li4) { FactoryGirl.create(:line_item, order: o2, variant: v3, quantity: 1, max_quantity: 3 ) }
let!(:o3) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now ) }
let!(:li3) { create(:line_item, order: o3, variant: v3, quantity: 3, max_quantity: 6 ) }
let!(:li4) { create(:line_item, order: o2, variant: v3, quantity: 1, max_quantity: 3 ) }
before :each do
visit '/admin/orders/bulk_management'
@@ -643,8 +651,8 @@ feature %q{
end
it "all line items of the same variant" do
expect(page).to_not have_selector "tr#li_#{li1.id}", :visible => true
expect(page).to_not have_selector "tr#li_#{li2.id}", :visible => true
expect(page).to have_no_selector "tr#li_#{li1.id}", :visible => true
expect(page).to have_no_selector "tr#li_#{li2.id}", :visible => true
expect(page).to have_selector "tr#li_#{li3.id}", :visible => true
expect(page).to have_selector "tr#li_#{li4.id}", :visible => true
end
@@ -655,7 +663,7 @@ feature %q{
end
it "shows all products and clears group buy box" do
expect(page).to_not have_selector "div#group_buy_calculation", :visible => true
expect(page).to have_no_selector "div#group_buy_calculation", :visible => true
expect(page).to have_selector "tr#li_#{li1.id}", :visible => true
expect(page).to have_selector "tr#li_#{li2.id}", :visible => true
expect(page).to have_selector "tr#li_#{li3.id}", :visible => true
@@ -669,10 +677,10 @@ feature %q{
let(:s1) { create(:supplier_enterprise, name: 'First Supplier') }
let(:d1) { create(:distributor_enterprise, name: 'First Distributor') }
let(:d2) { create(:distributor_enterprise, name: 'Another Distributor') }
let!(:o1) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1 ) }
let!(:o2) { FactoryGirl.create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2 ) }
let!(:line_item_distributed) { FactoryGirl.create(:line_item, order: o1, product: create(:product, supplier: s1) ) }
let!(:line_item_not_distributed) { FactoryGirl.create(:line_item, order: o2, product: create(:product, supplier: s1) ) }
let!(:o1) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d1 ) }
let!(:o2) { create(:order_with_distributor, state: 'complete', completed_at: Time.zone.now, distributor: d2 ) }
let!(:line_item_distributed) { create(:line_item, order: o1, product: create(:product, supplier: s1) ) }
let!(:line_item_not_distributed) { create(:line_item, order: o2, product: create(:product, supplier: s1) ) }
before(:each) do
@enterprise_user = create_enterprise_user
@@ -693,7 +701,7 @@ feature %q{
visit '/admin/orders/bulk_management'
expect(page).to have_selector "tr#li_#{line_item_distributed.id}", :visible => true
expect(page).to_not have_selector "tr#li_#{line_item_not_distributed.id}", :visible => true
expect(page).to have_no_selector "tr#li_#{line_item_not_distributed.id}", :visible => true
end
end
end

View File

@@ -46,8 +46,9 @@ feature %q{
p2 = FactoryGirl.create(:product, available_on: Date.current-1)
visit '/admin/products/bulk_edit'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
expect(page).to have_field "available_on", with: p1.available_on.strftime("%F %T")
expect(page).to have_field "available_on", with: p2.available_on.strftime("%F %T")
@@ -73,7 +74,8 @@ feature %q{
v2 = FactoryGirl.create(:variant, product: p1, is_master: false, on_hand: 0, on_demand: true)
visit '/admin/products/bulk_edit'
first("a.view-variants").trigger('click')
expect(page).to have_selector "a.view-variants", count: 1
find("a.view-variants").trigger('click')
expect(page).to have_no_selector "span[name='on_hand']", text: "On demand", visible: true
expect(page).to have_field "variant_on_hand", with: "4"
@@ -109,7 +111,7 @@ feature %q{
v2 = FactoryGirl.create(:variant, display_name: "something2" )
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants"
expect(page).to have_selector "a.view-variants", count: 2
all("a.view-variants").each { |e| e.trigger('click') }
expect(page).to have_field "product_name", with: v1.product.name
@@ -124,6 +126,7 @@ feature %q{
v2 = FactoryGirl.create(:variant, product: p1, is_master: false, on_hand: 6)
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants", count: 1
all("a.view-variants").each { |e| e.trigger('click') }
expect(page).to have_selector "span[name='on_hand']", text: p1.variants.sum{ |v| v.on_hand }.to_s
@@ -138,6 +141,7 @@ feature %q{
v2 = FactoryGirl.create(:variant, product: p1, is_master: false, price: 2.50)
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants", count: 1
all("a.view-variants").each { |e| e.trigger('click') }
expect(page).to have_field "price", with: "2.0", visible: false
@@ -151,6 +155,7 @@ feature %q{
v2 = FactoryGirl.create(:variant, product: p1, is_master: false, price: 2.50, unit_value: 4800, unit_description: "(large bag)", display_as: "bin")
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants", count: 1
all("a.view-variants").each { |e| e.trigger('click') }
expect(page).to have_field "variant_unit_value_with_description", with: "1.2 (small bag)"
@@ -217,7 +222,7 @@ feature %q{
fill_in "variant_price", with: "4.0"
fill_in "variant_on_hand", with: "10"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
updated_variant = Spree::Variant.where(deleted_at: nil).last
@@ -243,11 +248,12 @@ feature %q{
visit '/admin/products/bulk_edit'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
first("div#columns-dropdown div.menu div.menu_item", text: "Category").click
first("div#columns-dropdown div.menu div.menu_item", text: "Inherits Properties?").click
first("div#columns-dropdown div.menu div.menu_item", text: "SKU").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown div.menu div.menu_item", text: "Category").click
find("div#columns-dropdown div.menu div.menu_item", text: "Inherits Properties?").click
find("div#columns-dropdown div.menu div.menu_item", text: "SKU").click
find("div#columns-dropdown", :text => "COLUMNS").click
within "tr#p_#{p.id}" do
expect(page).to have_field "product_name", with: p.name
@@ -267,7 +273,7 @@ feature %q{
fill_in "product_sku", with: "NEW SKU"
end
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
@@ -293,7 +299,7 @@ feature %q{
select "Items", from: "variant_unit_with_scale"
fill_in "variant_unit_name", with: "loaf"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
@@ -313,12 +319,12 @@ feature %q{
login_to_admin_section
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants"
first("a.view-variants").trigger('click')
expect(page).to have_selector "a.view-variants", count: 1
find("a.view-variants").trigger('click')
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "SKU").click
first("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "SKU").click
find("div#columns-dropdown", :text => "COLUMNS").click
expect(page).to have_field "variant_sku", with: "VARIANTSKU"
expect(page).to have_field "variant_price", with: "3.0"
@@ -334,7 +340,7 @@ feature %q{
expect(page).to have_selector "span[name='on_hand']", text: "10"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
v.reload
@@ -352,8 +358,8 @@ feature %q{
login_to_admin_section
visit '/admin/products/bulk_edit'
expect(page).to have_selector "a.view-variants"
first("a.view-variants").trigger('click')
expect(page).to have_selector "a.view-variants", count: 1
find("a.view-variants").trigger('click')
expect(page).to have_field "variant_price", with: "3.0"
@@ -361,7 +367,7 @@ feature %q{
fill_in "variant_price", with: "10.0"
end
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
v.reload
@@ -378,21 +384,21 @@ feature %q{
fill_in "product_name", with: "new name 1"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
expect(p.name).to eq "new name 1"
fill_in "product_name", with: "new name 2"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
expect(p.name).to eq "new name 2"
fill_in "product_name", with: "original name"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
expect(p.name).to eq "original name"
@@ -404,11 +410,12 @@ feature %q{
visit '/admin/products/bulk_edit'
first("a.clone-product").click
expect(page).to have_selector "a.clone-product", count: 1
find("a.clone-product").click
fill_in "product_name", :with => "new product name"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload
expect(p.name).to eq "new product name"
@@ -421,7 +428,7 @@ feature %q{
visit '/admin/products/bulk_edit'
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "No changes to save."
end
end
@@ -440,7 +447,7 @@ feature %q{
expect(page).to have_no_field "product_name", with: p2.name
fill_in "product_name", :with => "new product1"
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p1.reload
expect(p1.name).to eq "new product1"
@@ -464,7 +471,7 @@ feature %q{
expect(page).to have_selector "a.delete-product", :count => 2
within "tr#p_#{p1.id}" do
first("a.delete-product").click
find("a.delete-product").click
end
expect(page).to have_selector "a.delete-product", :count => 1
@@ -481,7 +488,7 @@ feature %q{
expect(page).to have_selector "a.delete-variant", :count => 3
within "tr#v_#{v3.id}" do
first("a.delete-variant").click
find("a.delete-variant").click
end
expect(page).to have_selector "a.delete-variant", :count => 2
@@ -509,7 +516,7 @@ feature %q{
expect(page).to have_selector "a.edit-product", :count => 2
within "tr#p_#{p1.id}" do
first("a.edit-product").click
find("a.edit-product").click
end
expect(URI.parse(current_url).path).to eq "/admin/products/#{p1.permalink}/edit"
@@ -522,7 +529,7 @@ feature %q{
expect(page).to have_selector "a.edit-variant", :count => 2
within "tr#v_#{v1.id}" do
first("a.edit-variant").click
find("a.edit-variant").click
end
expect(URI.parse(current_url).path).to eq "/admin/products/#{v1.product.permalink}/variants/#{v1.id}/edit"
@@ -541,7 +548,7 @@ feature %q{
expect(page).to have_selector "a.clone-product", :count => 3
within "tr#p_#{p1.id}" do
first("a.clone-product").click
find("a.clone-product").click
end
expect(page).to have_selector "a.clone-product", :count => 4
expect(page).to have_field "product_name", with: "COPY OF #{p1.name}"
@@ -564,8 +571,9 @@ feature %q{
visit '/admin/products/bulk_edit'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
expect(page).to have_selector "th", :text => "NAME"
expect(page).to have_selector "th", :text => "PRODUCER"
@@ -573,7 +581,9 @@ feature %q{
expect(page).to have_selector "th", :text => "ON HAND"
expect(page).to have_selector "th", :text => "AV. ON"
first("div#columns-dropdown div.menu div.menu_item", text: /^.{0,1}Producer$/).click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: /^.{0,1}Producer$/).click
find("div#columns-dropdown", :text => "COLUMNS").click
expect(page).to have_no_selector "th", :text => "PRODUCER"
expect(page).to have_selector "th", :text => "NAME"
@@ -696,8 +706,9 @@ feature %q{
v = p.variants.first
visit '/admin/products/bulk_edit'
first("div#columns-dropdown", :text => "COLUMNS").click
first("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
find("div#columns-dropdown div.menu div.menu_item", text: "Available On").click
find("div#columns-dropdown", :text => "COLUMNS").click
within "tr#p_#{p.id}" do
expect(page).to have_field "product_name", with: p.name
@@ -718,7 +729,7 @@ feature %q{
fill_in "variant_display_as", with: "Big Bag"
end
first(:button, 'Save Changes').click
click_button 'Save Changes', match: :first
expect(page.find("#status-message")).to have_content "Changes saved."
p.reload

View File

@@ -608,9 +608,16 @@ feature %q{
visit edit_admin_order_cycle_path(oc)
# I should not see exchanges for supplier_unmanaged or distributor_unmanaged
page.all('tr.supplier').count.should == 3
page.all('tr.distributor').count.should == 3
# I should be able to see but not edit exchanges for supplier_unmanaged or distributor_unmanaged
expect(page).to have_selector "tr.supplier-#{supplier_managed.id}"
expect(page).to have_selector "tr.supplier-#{supplier_permitted.id}"
expect(page).to have_selector "tr.supplier-#{supplier_unmanaged.id}"
expect(page.all('tr.supplier').count).to be 3
expect(page).to have_selector "tr.distributor-#{distributor_managed.id}"
expect(page).to have_selector "tr.distributor-#{distributor_permitted.id}"
expect(page).to have_selector "tr.distributor-#{distributor_unmanaged.id}"
expect(page.all('tr.distributor').count).to be 3
oc.reload
oc.suppliers.should match_array [supplier_managed, supplier_permitted, supplier_unmanaged]
@@ -689,8 +696,12 @@ feature %q{
# I should only see exchanges for supplier_managed AND
# distributor_managed and distributor_permitted (who I have given permission to) AND
# and distributor_unmanaged (who distributes my products)
page.all('tr.supplier').count.should == 1
page.all('tr.distributor').count.should == 2
expect(page).to have_selector "tr.supplier-#{supplier_managed.id}"
expect(page.all('tr.supplier').count).to be 1
expect(page).to have_selector "tr.distributor-#{distributor_managed.id}"
expect(page).to have_selector "tr.distributor-#{distributor_permitted.id}"
expect(page.all('tr.distributor').count).to be 2
# Open the products list for managed_supplier's incoming exchange
within "tr.distributor-#{distributor_managed.id}" do
@@ -738,8 +749,11 @@ feature %q{
visit edit_admin_order_cycle_path(oc)
# I should see exchanges for my_distributor, and the incoming exchanges supplying the variants in it
page.all('tr.supplier').count.should == 1
page.all('tr.distributor').count.should == 1
expect(page).to have_selector "tr.supplier-#{supplier_managed.id}"
expect(page.all('tr.supplier').count).to be 1
expect(page).to have_selector "tr.distributor-#{my_distributor.id}"
expect(page.all('tr.distributor').count).to be 1
# Open the products list for managed_supplier's incoming exchange
within "tr.supplier-#{supplier_managed.id}" do

View File

@@ -58,12 +58,13 @@ describe 'OrderCycle controllers', ->
describe 'Reporting when all resources are loaded', ->
it 'returns true when Enterprise and EnterpriseFee are loaded', ->
Enterprise.loaded = EnterpriseFee.loaded = true
Enterprise.loaded = EnterpriseFee.loaded = OrderCycle.loaded = true
expect(scope.loaded()).toBe(true)
it 'returns false otherwise', ->
Enterprise.loaded = true
EnterpriseFee.loaded = false
OrderCycle.loaded = true
expect(scope.loaded()).toBe(false)
it "delegates suppliedVariants to Enterprise", ->