Merge branch 'master' into 2-0-stable-nov-8th

This commit is contained in:
luisramos0
2018-11-08 11:18:54 +00:00
101 changed files with 4970 additions and 760 deletions

View File

@@ -6,6 +6,7 @@ feature %q{
}, js: true do
include AuthenticationWorkflow
include WebHelper
include OpenFoodNetwork::EmailHelper
context "as a site administrator" do
@@ -137,7 +138,7 @@ feature %q{
end
it "can invite unregistered users to be managers" do
create(:mail_method)
setup_email
find('a.button.help-modal').click
expect(page).to have_css '#invite-manager-modal'

View File

@@ -33,7 +33,7 @@ feature "Product Import", js: true do
xit "validates entries and saves them if they are all valid and allows viewing new items in Bulk Products" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type"]
csv << ["Carrots", "User Enterprise", "Vegetables", "5", "3.20", "500", "g"]
csv << ["Potatoes", "User Enterprise", "Vegetables", "6", "6.50", "1", "kg"]
end
@@ -76,7 +76,7 @@ feature "Product Import", js: true do
it "displays info about invalid entries but no save button if all items are invalid" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type"]
csv << ["Bad Carrots", "Unkown Enterprise", "Mouldy vegetables", "666", "3.20", "", "g"]
csv << ["Bad Potatoes", "", "Vegetables", "6", "6", "6", ""]
end
@@ -100,7 +100,7 @@ feature "Product Import", js: true do
xit "handles saving of named tax and shipping categories" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type", "tax_category", "shipping_category"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type", "tax_category", "shipping_category"]
csv << ["Carrots", "User Enterprise", "Vegetables", "5", "3.20", "500", "g", tax_category.name, shipping_category.name]
end
File.write('/tmp/test.csv', csv_data)
@@ -129,7 +129,7 @@ feature "Product Import", js: true do
xit "records a timestamp on import that can be viewed and filtered under Bulk Edit Products" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type"]
csv << ["Carrots", "User Enterprise", "Vegetables", "5", "3.20", "500", "g"]
csv << ["Potatoes", "User Enterprise", "Vegetables", "6", "6.50", "1", "kg"]
end
@@ -176,7 +176,7 @@ feature "Product Import", js: true do
xit "can reset product stock to zero for products not present in the CSV" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type"]
csv << ["Carrots", "User Enterprise", "Vegetables", "500", "3.20", "500", "g"]
end
File.write('/tmp/test.csv', csv_data)
@@ -203,7 +203,7 @@ feature "Product Import", js: true do
xit "can save a new product and variant of that product at the same time, add variant to existing product" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type", "display_name"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type", "display_name"]
csv << ["Potatoes", "User Enterprise", "Vegetables", "5", "3.50", "500", "g", "Small Bag"]
csv << ["Potatoes", "User Enterprise", "Vegetables", "6", "5.50", "2", "kg", "Big Bag"]
csv << ["Beans", "User Enterprise", "Vegetables", "7", "2.50", "250", "g", nil]
@@ -241,7 +241,7 @@ feature "Product Import", js: true do
xit "can import items into inventory" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "producer", "category", "on_hand", "price", "units"]
csv << ["name", "distributor", "producer", "category", "on_hand", "price", "units"]
csv << ["Beans", "Another Enterprise", "User Enterprise", "Vegetables", "5", "3.20", "500"]
csv << ["Sprouts", "Another Enterprise", "User Enterprise", "Vegetables", "6", "6.50", "500"]
csv << ["Cabbage", "Another Enterprise", "User Enterprise", "Vegetables", "2001", "1.50", "500"]
@@ -338,7 +338,7 @@ feature "Product Import", js: true do
xit "only allows product import into enterprises the user is permitted to manage" do
csv_data = CSV.generate do |csv|
csv << ["name", "supplier", "category", "on_hand", "price", "units", "unit_type"]
csv << ["name", "producer", "category", "on_hand", "price", "units", "unit_type"]
csv << ["My Carrots", "User Enterprise", "Vegetables", "5", "3.20", "500", "g"]
csv << ["Your Potatoes", "Another Enterprise", "Vegetables", "6", "6.50", "1", "kg"]
end

View File

@@ -2,10 +2,11 @@ require "spec_helper"
feature "Managing users" do
include AuthenticationWorkflow
include OpenFoodNetwork::EmailHelper
context "as super-admin" do
before do
create(:mail_method)
setup_email
quick_login_as_admin
end

View File

@@ -2,6 +2,7 @@ require 'spec_helper'
feature "Account Settings", js: true do
include AuthenticationWorkflow
include OpenFoodNetwork::EmailHelper
describe "as a logged in user" do
let(:user) do
@@ -12,7 +13,7 @@ feature "Account Settings", js: true do
end
before do
create(:mail_method)
setup_email
quick_login_as user
visit "/account"
click_link I18n.t('spree.users.show.tabs.settings')

View File

@@ -2,6 +2,7 @@ require 'spec_helper'
feature "Authentication", js: true, retry: 3 do
include UIComponentHelper
include OpenFoodNetwork::EmailHelper
# Attempt to address intermittent failures in these specs
around do |example|
@@ -75,7 +76,7 @@ feature "Authentication", js: true, retry: 3 do
end
scenario "Signing up successfully" do
create(:mail_method)
setup_email
fill_in "Email", with: "test@foo.com"
fill_in "Choose a password", with: "test12345"
fill_in "Confirm password", with: "test12345"

View File

@@ -2,13 +2,14 @@ require "spec_helper"
feature "Confirm invitation as manager" do
include UIComponentHelper # for be_logged_in_as
include OpenFoodNetwork::EmailHelper
describe "confirm email and set password" do
let(:email) { "test@example.org" }
let(:user) { Spree::User.create(email: email, unconfirmed_email: email, password: "secret") }
before do
create(:mail_method)
setup_email
user.reset_password_token = Devise.friendly_token
user.reset_password_sent_at = Time.now.utc
user.save!

View File

@@ -3,6 +3,7 @@ require 'spec_helper'
feature 'Multilingual', js: true do
include AuthenticationWorkflow
include WebHelper
include ShopWorkflow
it 'has two locales available' do
expect(Rails.application.config.i18n[:default_locale]).to eq 'en'
@@ -16,28 +17,54 @@ feature 'Multilingual', js: true do
expect(get_i18n_translation('label_shops')).to eq 'Shops'
end
it 'can switch language by params' do
visit root_path
expect(get_i18n_locale).to eq 'en'
expect(get_i18n_translation('label_shops')).to eq 'Shops'
expect(page.driver.browser.cookies['locale']).to be_nil
expect(page).to have_content 'Interested in getting on the Open Food Network?'
expect(page).to have_content 'SHOPS'
context 'can switch language by params' do
scenario 'in root path' do
visit root_path
expect(get_i18n_locale).to eq 'en'
expect(get_i18n_translation('label_shops')).to eq 'Shops'
expect(page.driver.browser.cookies['locale']).to be_nil
expect(page).to have_content 'Interested in getting on the Open Food Network?'
expect(page).to have_content 'SHOPS'
visit root_path(locale: 'es')
expect(get_i18n_locale).to eq 'es'
expect(get_i18n_translation('label_shops')).to eq 'Tiendas'
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect(page).to have_content '¿Estás interesada en entrar en Open Food Network?'
expect(page).to have_content 'TIENDAS'
visit root_path(locale: 'es')
expect(get_i18n_locale).to eq 'es'
expect(get_i18n_translation('label_shops')).to eq 'Tiendas'
expect_menu_and_cookie_in_es
expect(page).to have_content '¿Estás interesada en entrar en Open Food Network?'
# it is not in the list of available of available_locales
visit root_path(locale: 'it')
expect(get_i18n_locale).to eq 'es'
expect(get_i18n_translation('label_shops')).to eq 'Tiendas'
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect(page).to have_content '¿Estás interesada en entrar en Open Food Network?'
expect(page).to have_content 'TIENDAS'
# it is not in the list of available of available_locales
visit root_path(locale: 'it')
expect(get_i18n_locale).to eq 'es'
expect(get_i18n_translation('label_shops')).to eq 'Tiendas'
expect_menu_and_cookie_in_es
expect(page).to have_content '¿Estás interesada en entrar en Open Food Network?'
end
context 'with a product in the cart' do
let(:distributor) { create(:distributor_enterprise, with_payment_and_shipping: true) }
let!(:order_cycle) { create(:simple_order_cycle, distributors: [distributor], variants: [product.variants.first]) }
let(:product) { create(:simple_product) }
let(:order) { create(:order, order_cycle: order_cycle, distributor: distributor) }
before do
set_order order
add_product_to_cart order, product, quantity: 1
end
scenario "in the cart page" do
visit spree.cart_path(locale: 'es')
expect_menu_and_cookie_in_es
expect(page).to have_content 'Precio'
end
scenario "in the checkout page" do
visit checkout_path(locale: 'es')
expect_menu_and_cookie_in_es
expect(page).to have_content 'Total del carrito'
end
end
end
context 'with user' do
@@ -46,12 +73,12 @@ feature 'Multilingual', js: true do
it 'updates user locale from cookie if it is empty' do
visit root_path(locale: 'es')
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect_menu_and_cookie_in_es
expect(user.locale).to be_nil
quick_login_as user
visit root_path
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect_menu_and_cookie_in_es
end
it 'updates user locale and stays in cookie after logout' do
@@ -63,9 +90,8 @@ feature 'Multilingual', js: true do
logout
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect_menu_and_cookie_in_es
expect(page).to have_content '¿Estás interesada en entrar en Open Food Network?'
expect(page).to have_content 'TIENDAS'
end
end
@@ -103,9 +129,13 @@ feature 'Multilingual', js: true do
find('li a[href="?locale=es"]').click
end
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect(page).to have_content 'TIENDAS'
expect_menu_and_cookie_in_es
end
end
end
end
def expect_menu_and_cookie_in_es
expect(page.driver.browser.cookies['locale'].value).to eq 'es'
expect(page).to have_content 'TIENDAS'
end

View File

@@ -2,6 +2,7 @@ require 'spec_helper'
feature "Order Management", js: true do
include AuthenticationWorkflow
include OpenFoodNetwork::EmailHelper
describe "viewing a completed order" do
let!(:distributor) { create(:distributor_enterprise) }
@@ -120,7 +121,7 @@ feature "Order Management", js: true do
context "when the distributor allows changes to be made to orders" do
before do
Spree::Config[:mails_from] = "spree@example.com"
setup_email
end
before do
order.distributor.update_attributes(allow_order_changes: true)