Merge branch 'master' into currency

This commit is contained in:
Rafael Schouten
2014-09-17 12:49:10 +10:00
5 changed files with 74 additions and 38 deletions

View File

@@ -565,9 +565,9 @@ ActiveRecord::Schema.define(:version => 20140904003026) do
t.string "email"
t.text "special_instructions"
t.integer "distributor_id"
t.integer "order_cycle_id"
t.string "currency"
t.string "last_ip_address"
t.integer "order_cycle_id"
t.integer "cart_id"
end

View File

@@ -10,7 +10,7 @@ feature %q{
after { Warden.test_reset! }
stub_authorization!
context "listing orders" do
pending "listing orders" do
before :each do
admin_user = quick_login_as_admin
end
@@ -92,7 +92,7 @@ feature %q{
end
end
context "altering line item properties" do
pending "altering line item properties" do
before :each do
admin_user = quick_login_as_admin
end
@@ -140,7 +140,7 @@ feature %q{
end
end
context "using page controls" do
pending "using page controls" do
before :each do
admin_user = quick_login_as_admin
end
@@ -562,7 +562,7 @@ feature %q{
end
end
context "as an enterprise manager" do
pending "as an enterprise manager" do
let(:s1) { create(:supplier_enterprise, name: 'First Supplier') }
let(:d1) { create(:distributor_enterprise, name: 'First Distributor') }
let(:d2) { create(:distributor_enterprise, name: 'Another Distributor') }

View File

@@ -6,7 +6,7 @@ feature %q{
} , js: true do
include AuthenticationWorkflow
include WebHelper
describe "listing products" do
before :each do
login_to_admin_section
@@ -69,7 +69,7 @@ feature %q{
expect(page).to have_field "price", with: "44.0"
expect(page).to have_no_field "price", with: "66.0", visible: true
end
it "displays an on hand count input for each product (ie. for master variant) if no regular variants exist" do
p1 = FactoryGirl.create(:product)
p2 = FactoryGirl.create(:product)
@@ -84,7 +84,7 @@ feature %q{
expect(page).to have_field "on_hand", with: "15"
expect(page).to have_field "on_hand", with: "12"
end
it "displays an on hand count in a span for each product (ie. for master variant) if other variants exist" do
p1 = FactoryGirl.create(:product)
p2 = FactoryGirl.create(:product)
@@ -142,7 +142,7 @@ feature %q{
expect(page).to have_field "variant_unit_name", with: "packet"
end
end
describe "listing variants" do
before :each do
login_to_admin_section
@@ -174,8 +174,8 @@ feature %q{
expect(page).to have_field "variant_on_hand", with: "15"
expect(page).to have_field "variant_on_hand", with: "6"
end
it "displays a price input (for each variant) for each product" do
p1 = FactoryGirl.create(:product, price: 2.0)
v1 = FactoryGirl.create(:variant, product: p1, is_master: false, price: 12.75)
@@ -295,7 +295,7 @@ feature %q{
login_to_admin_section
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
@@ -311,7 +311,7 @@ feature %q{
fill_in "product_name", with: "Big Bag Of Potatoes"
select s2.name, :from => 'producer'
fill_in "available_on", with: (Date.today-3).strftime("%F %T")
fill_in "available_on", with: (3.days.ago.beginning_of_day).strftime("%F %T")
fill_in "price", with: "20"
select "Weight (kg)", from: "variant_unit_with_scale"
select2_select t1.name, from: "p#{p.id}_category"
@@ -333,7 +333,7 @@ feature %q{
expect(p.on_hand).to eq 18
expect(p.primary_taxon).to eq t1
end
scenario "updating a product with a variant unit of 'items'" do
p = FactoryGirl.create(:product, variant_unit: 'weight', variant_unit_scale: 1000)
@@ -589,7 +589,7 @@ feature %q{
within "tr#v_#{v1.id}" do
first("a.delete-variant").click
end
expect(page).to have_selector "a.delete-variant", :count => 2
visit '/admin/products/bulk_edit'
@@ -672,7 +672,7 @@ feature %q{
login_to_admin_section
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
@@ -814,7 +814,7 @@ feature %q{
fill_in "product_name", with: "Big Bag Of Potatoes"
select(supplier_managed2.name, :from => 'producer')
fill_in "available_on", with: (Date.today-3).strftime("%F %T")
fill_in "available_on", with: (3.days.ago.beginning_of_day).strftime("%F %T")
fill_in "price", with: "20"
select "Weight (kg)", from: "variant_unit_with_scale"
fill_in "on_hand", with: "18"

View File

@@ -131,6 +131,20 @@ feature %q{
expect(page).to have_content 'ADD PRODUCT'
targetted_select2_search product.name, from: '#add_variant_id', dropdown_css: '.select2-drop'
puts "c1: " + coordinator1.id.to_s + " "+ coordinator1.name
puts "c2: " + coordinator2.id.to_s + " "+ coordinator2.name
puts "s1: " + supplier1.id.to_s + " "+ supplier1.name
puts "s2: " + supplier2.id.to_s + " "+ supplier2.name
puts "d1: " + distributor1.id.to_s + " "+ distributor1.name
puts "d2: " + distributor2.id.to_s + " "+ distributor2.name
order_cycle1.distributors.each do |distributor|
puts "oc1d: " + distributor.id.to_s + " "+ distributor.name
end
Enterprise.is_distributor.managed_by(@enterprise_user).each do |distributor|
puts "eud: " + distributor.id.to_s + " "+ distributor.name
end
click_link 'Add'
page.has_selector? "table.index tbody[data-hook='admin_order_form_line_items'] tr" # Wait for JS
expect(page).to have_selector 'td', text: product.name

View File

@@ -11,31 +11,26 @@ feature "Registration", js: true do
expect(URI.parse(current_url).path).to eq registration_auth_path
sleep 0.5 # TOTO: DEAL WITH ME
page.has_selector? "dd", text: "Log in"
switch_to_login_tab
# Logging in
click_link "Log in"
# Enter Login details
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button 'Log in'
click_login_and_ensure_content "This wizard will step you through creating a profile"
# Log in was successful, introduction shown
sleep 0.5 # TOTO: DEAL WITH ME
expect(page).to have_content "This wizard will step you through creating a profile"
expect(URI.parse(current_url).path).to eq registration_path
# Done reading introduction
click_button "Let's get started!"
click_button_and_ensure_content "Let's get started!", "Woot! First we need to know what sort of enterprise you are:"
# Filling in details
expect(page).to have_content "Woot! First we need to know what sort of enterprise you are:"
fill_in 'enterprise_name', with: "My Awesome Enterprise"
click_link 'both-panel'
click_button 'Continue'
click_button_and_ensure_content "Continue", "Greetings My Awesome Enterprise"
# Filling in address
expect(page).to have_content 'Greetings My Awesome Enterprise'
fill_in 'enterprise_address', with: '123 Abc Street'
fill_in 'enterprise_city', with: 'Northcote'
fill_in 'enterprise_zipcode', with: '3070'
@@ -96,22 +91,18 @@ feature "Registration", js: true do
expect(URI.parse(current_url).path).to eq registration_auth_path
sleep 0.5 # TOTO: DEAL WITH ME
page.has_selector? "dd", text: "Log in"
switch_to_login_tab
# Logging in
click_link "Log in"
# Enter Login details
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button 'Log in'
click_login_and_ensure_content "This wizard will step you through creating a profile"
# Log in was successful, introduction shown
sleep 0.5 # TOTO: DEAL WITH ME
expect(page).to have_content "This wizard will step you through creating a profile"
expect(URI.parse(current_url).path).to eq store_registration_path
# Done reading introduction
click_button "Let's get started!"
click_button_and_ensure_content "Let's get started!", "Woot! First we need to know the name of your farm:"
# Details Page
expect(page).to have_content "Woot! First we need to know the name of your farm:"
@@ -120,4 +111,35 @@ feature "Registration", js: true do
# Everything from here should be covered in 'profile' spec
end
end
def switch_to_login_tab
# Link appears to be unresponsive for a while, so keep clicking it until it works
using_wait_time 0.5 do
10.times do
click_link "Log in"
break if page.has_selector? "dd.active", text: "Log in"
end
end
end
def click_login_and_ensure_content(content)
# Buttons appear to be unresponsive for a while, so keep clicking them until content appears
using_wait_time 1 do
3.times do
click_button "Log in"
break if page.has_selector? "div#loading", text: "Hold on a moment, we're logging you in"
end
end
expect(page).to have_content content
end
def click_button_and_ensure_content(button_text, content)
# Buttons appear to be unresponsive for a while, so keep clicking them until content appears
using_wait_time 0.5 do
10.times do
click_button button_text
break if page.has_content? content
end
end
end
end