solidus_frontend 1.2.3 → 1.3.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_frontend might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/Rakefile +1 -1
- data/app/assets/javascripts/spree/frontend/checkout/address.js.coffee +0 -2
- data/app/assets/stylesheets/spree/frontend.css +1 -2
- data/app/assets/stylesheets/spree/frontend/_skeleton.scss +242 -0
- data/app/assets/stylesheets/spree/frontend/screen.css.scss +1 -0
- data/app/controllers/spree/checkout_controller.rb +93 -93
- data/app/controllers/spree/content_controller.rb +1 -1
- data/app/controllers/spree/orders_controller.rb +15 -16
- data/app/controllers/spree/products_controller.rb +19 -18
- data/app/controllers/spree/store_controller.rb +27 -27
- data/app/controllers/spree/taxons_controller.rb +1 -2
- data/app/models/spree/frontend_configuration.rb +1 -1
- data/app/views/spree/address/_form.html.erb +18 -12
- data/app/views/spree/orders/show.html.erb +2 -2
- data/app/views/spree/products/_cart_form.html.erb +5 -5
- data/app/views/spree/products/show.html.erb +1 -1
- data/app/views/spree/shared/_google_analytics.html.erb +1 -1
- data/app/views/spree/shared/_order_details.html.erb +12 -11
- data/app/views/spree/shared/_products.html.erb +2 -2
- data/config/initializers/assets.rb +8 -1
- data/config/initializers/canonical_rails.rb +1 -2
- data/config/routes.rb +17 -18
- data/lib/spree/frontend.rb +1 -0
- data/lib/spree/frontend/engine.rb +1 -9
- data/lib/spree/frontend/middleware/seo_assist.rb +3 -4
- data/lib/tasks/rake_util.rb +3 -6
- data/lib/tasks/taxon.rake +3 -3
- data/script/rails +0 -1
- data/solidus_frontend.gemspec +1 -0
- data/spec/controllers/controller_extension_spec.rb +15 -15
- data/spec/controllers/controller_helpers_spec.rb +1 -2
- data/spec/controllers/spree/checkout_controller_spec.rb +67 -115
- data/spec/controllers/spree/content_controller_spec.rb +1 -1
- data/spec/controllers/spree/current_order_tracking_spec.rb +7 -6
- data/spec/controllers/spree/home_controller_spec.rb +3 -3
- data/spec/controllers/spree/orders_controller_ability_spec.rb +17 -16
- data/spec/controllers/spree/orders_controller_spec.rb +9 -8
- data/spec/controllers/spree/orders_controller_transitions_spec.rb +5 -5
- data/spec/controllers/spree/products_controller_spec.rb +10 -11
- data/spec/controllers/spree/taxons_controller_spec.rb +5 -5
- data/spec/features/address_spec.rb +15 -15
- data/spec/features/automatic_promotion_adjustments_spec.rb +18 -18
- data/spec/features/caching/products_spec.rb +2 -2
- data/spec/features/caching/taxons_spec.rb +2 -2
- data/spec/features/cart_spec.rb +8 -6
- data/spec/features/checkout_spec.rb +49 -51
- data/spec/features/checkout_unshippable_spec.rb +4 -5
- data/spec/features/coupon_code_spec.rb +28 -30
- data/spec/features/currency_spec.rb +3 -3
- data/spec/features/free_shipping_promotions_spec.rb +17 -17
- data/spec/features/locale_spec.rb +33 -24
- data/spec/features/order_spec.rb +4 -4
- data/spec/features/products_spec.rb +12 -12
- data/spec/features/promotion_code_invalidation_spec.rb +1 -0
- data/spec/features/quantity_promotions_spec.rb +1 -1
- data/spec/features/taxons_spec.rb +16 -16
- data/spec/features/template_rendering_spec.rb +1 -2
- data/spec/helpers/base_helper_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -5
- data/spec/support/shared_contexts/checkout_setup.rb +1 -0
- data/spec/support/shared_contexts/custom_products.rb +18 -17
- data/spec/support/shared_contexts/product_prototypes.rb +3 -5
- data/spec/views/spree/checkout/_summary_spec.rb +2 -2
- metadata +24 -9
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe "Switching currencies in backend", :
|
3
|
+
describe "Switching currencies in backend", type: :feature do
|
4
4
|
before do
|
5
|
-
create(:
|
5
|
+
create(:store)
|
6
|
+
create(:base_product, name: "RoR Mug")
|
6
7
|
end
|
7
8
|
|
8
9
|
# Regression test for https://github.com/spree/spree/issues/2340
|
@@ -14,5 +15,4 @@ describe "Switching currencies in backend", :type => :feature do
|
|
14
15
|
Spree::Config[:currency] = "AUD"
|
15
16
|
visit spree.root_path
|
16
17
|
end
|
17
|
-
|
18
18
|
end
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe "Free shipping promotions", :
|
4
|
-
let!(:
|
5
|
-
let!(:
|
3
|
+
describe "Free shipping promotions", type: :feature, js: true do
|
4
|
+
let!(:store) { create(:store) }
|
5
|
+
let!(:country) { create(:country, name: "United States of America", states_required: true) }
|
6
|
+
let!(:state) { create(:state, name: "Alabama", country: country) }
|
6
7
|
let!(:zone) { create(:zone) }
|
7
8
|
let!(:shipping_method) do
|
8
9
|
sm = create(:shipping_method)
|
@@ -12,11 +13,11 @@ describe "Free shipping promotions", :type => :feature, :js => true do
|
|
12
13
|
end
|
13
14
|
|
14
15
|
let!(:payment_method) { create(:check_payment_method) }
|
15
|
-
let!(:product) { create(:product, :
|
16
|
+
let!(:product) { create(:product, name: "RoR Mug", price: 20) }
|
16
17
|
let!(:promotion) do
|
17
|
-
promotion = Spree::Promotion.create!(:
|
18
|
-
:
|
19
|
-
:
|
18
|
+
promotion = Spree::Promotion.create!(name: "Free Shipping",
|
19
|
+
starts_at: 1.day.ago,
|
20
|
+
expires_at: 1.day.from_now)
|
20
21
|
|
21
22
|
action = Spree::Promotion::Actions::FreeShipping.new
|
22
23
|
action.promotion = promotion
|
@@ -27,20 +28,19 @@ describe "Free shipping promotions", :type => :feature, :js => true do
|
|
27
28
|
|
28
29
|
context "free shipping promotion automatically applied" do
|
29
30
|
before do
|
30
|
-
|
31
31
|
visit spree.root_path
|
32
32
|
click_link "RoR Mug"
|
33
33
|
click_button "add-to-cart-button"
|
34
34
|
click_button "Checkout"
|
35
|
-
fill_in "order_email", :
|
36
|
-
fill_in "First Name", :
|
37
|
-
fill_in "Last Name", :
|
38
|
-
fill_in "Street Address", :
|
39
|
-
fill_in "City", :
|
40
|
-
fill_in "Zip", :
|
41
|
-
select country.name, :
|
42
|
-
select state.name, :
|
43
|
-
fill_in "Phone", :
|
35
|
+
fill_in "order_email", with: "spree@example.com"
|
36
|
+
fill_in "First Name", with: "John"
|
37
|
+
fill_in "Last Name", with: "Smith"
|
38
|
+
fill_in "Street Address", with: "1 John Street"
|
39
|
+
fill_in "City", with: "City of John"
|
40
|
+
fill_in "Zip", with: "01337"
|
41
|
+
select country.name, from: "Country"
|
42
|
+
select state.name, from: "order[bill_address_attributes][state_id]"
|
43
|
+
fill_in "Phone", with: "555-555-5555"
|
44
44
|
|
45
45
|
# To shipping method screen
|
46
46
|
click_button "Save and Continue"
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'setting locale', :
|
3
|
+
describe 'setting locale', type: :feature do
|
4
|
+
let!(:store) { create(:store) }
|
4
5
|
def with_locale(locale)
|
5
6
|
I18n.locale = locale
|
6
7
|
Spree::Frontend::Config[:locale] = locale
|
7
8
|
yield
|
9
|
+
ensure
|
8
10
|
I18n.locale = I18n.default_locale
|
9
11
|
Spree::Frontend::Config[:locale] = 'en'
|
10
12
|
end
|
@@ -12,9 +14,9 @@ describe 'setting locale', :type => :feature do
|
|
12
14
|
context 'shopping cart link and page' do
|
13
15
|
before do
|
14
16
|
I18n.backend.store_translations(:fr,
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
17
|
+
spree: {
|
18
|
+
cart: 'Panier',
|
19
|
+
shopping_cart: 'Panier'
|
18
20
|
})
|
19
21
|
end
|
20
22
|
|
@@ -27,34 +29,41 @@ describe 'setting locale', :type => :feature do
|
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
30
|
-
|
32
|
+
shared_examples "localized error message" do
|
31
33
|
include_context 'checkout setup'
|
32
34
|
|
33
|
-
let(:error_messages) do
|
34
|
-
{
|
35
|
-
'en' => 'This field is required.',
|
36
|
-
'fr' => 'Ce champ est obligatoire.',
|
37
|
-
'de' => 'Dieses Feld ist ein Pflichtfeld.',
|
38
|
-
}
|
39
|
-
end
|
40
|
-
|
41
|
-
def check_error_text(text)
|
42
|
-
%w(firstname lastname address1 city).each do |attr|
|
43
|
-
expect(find(".field#b#{attr} label.error").text).to eq(text)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
35
|
it 'shows translated jquery.validate error messages', js: true do
|
48
36
|
visit spree.root_path
|
49
37
|
click_link mug.name
|
50
38
|
click_button 'add-to-cart-button'
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
39
|
+
with_locale(locale) do
|
40
|
+
visit '/checkout/address'
|
41
|
+
find('.form-buttons input[type=submit]').click
|
42
|
+
|
43
|
+
%w(firstname lastname address1 city).each do |attr|
|
44
|
+
expect(find(".field#b#{attr} label.error")).to have_text(message)
|
56
45
|
end
|
57
46
|
end
|
58
47
|
end
|
59
48
|
end
|
49
|
+
|
50
|
+
context 'checkout form validation messages' do
|
51
|
+
context 'en' do
|
52
|
+
let(:locale) { 'en' }
|
53
|
+
let(:message) { 'This field is required.' }
|
54
|
+
it_behaves_like "localized error message"
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'fr' do
|
58
|
+
let(:locale) { 'fr' }
|
59
|
+
let(:message) { 'Ce champ est obligatoire.' }
|
60
|
+
it_behaves_like "localized error message"
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'de' do
|
64
|
+
let(:locale) { 'de' }
|
65
|
+
let(:message) { 'Dieses Feld ist ein Pflichtfeld.' }
|
66
|
+
it_behaves_like "localized error message"
|
67
|
+
end
|
68
|
+
end
|
60
69
|
end
|
data/spec/features/order_spec.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe 'orders', :
|
3
|
+
describe 'orders', type: :feature do
|
4
4
|
let(:order) { OrderWalkthrough.up_to(:complete) }
|
5
5
|
let(:user) { create(:user) }
|
6
6
|
|
7
7
|
before do
|
8
8
|
order.update_attribute(:user_id, user.id)
|
9
|
-
allow_any_instance_of(Spree::OrdersController).to receive_messages(:
|
9
|
+
allow_any_instance_of(Spree::OrdersController).to receive_messages(try_spree_current_user: user)
|
10
10
|
end
|
11
11
|
|
12
12
|
it "can visit an order" do
|
@@ -30,7 +30,7 @@ describe 'orders', :type => :feature do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should have credit card info if paid with credit card" do
|
33
|
-
create(:payment, :
|
33
|
+
create(:payment, order: order)
|
34
34
|
visit spree.order_path(order)
|
35
35
|
within '.payment-info' do
|
36
36
|
expect(page).to have_content "Ending in 1111"
|
@@ -38,7 +38,7 @@ describe 'orders', :type => :feature do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should have payment method name visible if not paid with credit card" do
|
41
|
-
create(:check_payment, :
|
41
|
+
create(:check_payment, order: order)
|
42
42
|
visit spree.order_path(order)
|
43
43
|
within '.payment-info' do
|
44
44
|
expect(page).to have_content "Check"
|
@@ -22,7 +22,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
22
22
|
|
23
23
|
describe 'meta tags and title' do
|
24
24
|
let(:jersey) { Spree::Product.find_by_name('Ruby on Rails Baseball Jersey') }
|
25
|
-
let(:metas) { { :
|
25
|
+
let(:metas) { { meta_description: 'Brand new Ruby on Rails Jersey', meta_title: 'Ruby on Rails Baseball Jersey Buy High Quality Geek Apparel', meta_keywords: 'ror, jersey, ruby' } }
|
26
26
|
|
27
27
|
it 'should return the correct title when displaying a single product' do
|
28
28
|
click_link jersey.name
|
@@ -66,6 +66,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
66
66
|
context "using Russian Rubles as a currency" do
|
67
67
|
before do
|
68
68
|
Spree::Config[:currency] = "RUB"
|
69
|
+
Spree::Config.remove_instance_variable(:@default_pricing_options)
|
69
70
|
end
|
70
71
|
|
71
72
|
let!(:product) do
|
@@ -92,7 +93,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
95
|
-
it "when adding a product to the cart", :
|
96
|
+
it "when adding a product to the cart", js: true do
|
96
97
|
visit spree.product_path(product)
|
97
98
|
click_button "Add To Cart"
|
98
99
|
click_link "Home"
|
@@ -113,7 +114,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
113
114
|
end
|
114
115
|
|
115
116
|
it "should be able to search for a product" do
|
116
|
-
fill_in "keywords", :
|
117
|
+
fill_in "keywords", with: "shirt"
|
117
118
|
click_button "Search"
|
118
119
|
|
119
120
|
expect(page.all('ul.product-listing li').size).to eq(1)
|
@@ -122,13 +123,13 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
122
123
|
context "a product with variants" do
|
123
124
|
let(:product) { Spree::Product.find_by_name("Ruby on Rails Baseball Jersey") }
|
124
125
|
let(:option_value) { create(:option_value) }
|
125
|
-
let!(:variant) { product.variants.create!(:
|
126
|
+
let!(:variant) { product.variants.create!(price: 5.59) }
|
126
127
|
|
127
128
|
before do
|
128
129
|
# Need to have two images to trigger the error
|
129
130
|
image = File.open(File.expand_path('../../fixtures/thinking-cat.jpg', __FILE__))
|
130
|
-
product.images.create!(:
|
131
|
-
product.images.create!(:
|
131
|
+
product.images.create!(attachment: image)
|
132
|
+
product.images.create!(attachment: image)
|
132
133
|
|
133
134
|
product.option_types << option_value.option_type
|
134
135
|
variant.option_values << option_value
|
@@ -177,7 +178,6 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
177
178
|
expect(page.all('ul.product-listing li').size).to eq(0)
|
178
179
|
end
|
179
180
|
|
180
|
-
|
181
181
|
it "should be able to display products priced under 10 dollars" do
|
182
182
|
within(:css, '#taxonomies') { click_link "Ruby on Rails" }
|
183
183
|
check "Price_Range_Under_$10.00"
|
@@ -221,13 +221,13 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
221
221
|
tmp = page.all('ul.product-listing li a').map(&:text).flatten.compact
|
222
222
|
tmp.delete("")
|
223
223
|
expect(tmp.sort!).to eq(["Ruby on Rails Bag",
|
224
|
-
|
225
|
-
|
226
|
-
|
224
|
+
"Ruby on Rails Baseball Jersey",
|
225
|
+
"Ruby on Rails Jr. Spaghetti",
|
226
|
+
"Ruby on Rails Ringer T-Shirt"])
|
227
227
|
end
|
228
228
|
|
229
229
|
it "should be able to put a product without a description in the cart" do
|
230
|
-
product = FactoryGirl.create(:base_product, :
|
230
|
+
product = FactoryGirl.create(:base_product, description: nil, name: 'Sample', price: '19.99')
|
231
231
|
visit spree.product_path(product)
|
232
232
|
expect(page).to have_content "This product has no description"
|
233
233
|
click_button 'add-to-cart-button'
|
@@ -235,7 +235,7 @@ describe "Visiting Products", type: :feature, inaccessible: true do
|
|
235
235
|
end
|
236
236
|
|
237
237
|
it "shouldn't be able to put a product without a current price in the cart" do
|
238
|
-
product = FactoryGirl.create(:base_product, :
|
238
|
+
product = FactoryGirl.create(:base_product, description: nil, name: 'Sample', price: '19.99')
|
239
239
|
Spree::Config.currency = "CAN"
|
240
240
|
Spree::Config.show_products_without_price = true
|
241
241
|
visit spree.product_path(product)
|
@@ -12,6 +12,7 @@ RSpec.feature "Quantity Promotions" do
|
|
12
12
|
given(:calculator) { FactoryGirl.create(:calculator, preferred_amount: 5) }
|
13
13
|
|
14
14
|
background do
|
15
|
+
create(:store)
|
15
16
|
FactoryGirl.create(:product, name: "DL-44")
|
16
17
|
FactoryGirl.create(:product, name: "E-11")
|
17
18
|
promotion.actions << action
|
@@ -125,4 +126,3 @@ RSpec.feature "Quantity Promotions" do
|
|
125
126
|
end
|
126
127
|
end
|
127
128
|
end
|
128
|
-
|
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "viewing products", type: :feature, inaccessible: true do
|
4
|
-
let!(:taxonomy) { create(:taxonomy, :
|
5
|
-
let!(:super_clothing) { taxonomy.root.children.create(:
|
6
|
-
let!(:t_shirts) { super_clothing.children.create(:
|
7
|
-
let!(:xxl) { t_shirts.children.create(:
|
4
|
+
let!(:taxonomy) { create(:taxonomy, name: "Category") }
|
5
|
+
let!(:super_clothing) { taxonomy.root.children.create(name: "Super Clothing") }
|
6
|
+
let!(:t_shirts) { super_clothing.children.create(name: "T-Shirts") }
|
7
|
+
let!(:xxl) { t_shirts.children.create(name: "XXL") }
|
8
8
|
let!(:product) do
|
9
|
-
product = create(:product, :
|
9
|
+
product = create(:product, name: "Superman T-Shirt")
|
10
10
|
product.taxons << t_shirts
|
11
11
|
end
|
12
|
-
let(:metas) { { :
|
12
|
+
let(:metas) { { meta_description: 'Brand new Ruby on Rails TShirts', meta_title: "Ruby On Rails TShirt", meta_keywords: 'ror, tshirt, ruby' } }
|
13
13
|
let(:store_name) do
|
14
14
|
((first_store = Spree::Store.first) && first_store.name).to_s
|
15
15
|
end
|
@@ -74,12 +74,12 @@ describe "viewing products", type: :feature, inaccessible: true do
|
|
74
74
|
tmp = page.all('ul.product-listing li a').map(&:text).flatten.compact
|
75
75
|
tmp.delete("")
|
76
76
|
array = ["Ruby on Rails Bag",
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
77
|
+
"Ruby on Rails Baseball Jersey",
|
78
|
+
"Ruby on Rails Jr. Spaghetti",
|
79
|
+
"Ruby on Rails Mug",
|
80
|
+
"Ruby on Rails Ringer T-Shirt",
|
81
|
+
"Ruby on Rails Stein",
|
82
|
+
"Ruby on Rails Tote"]
|
83
83
|
expect(tmp.sort!).to eq(array)
|
84
84
|
end
|
85
85
|
|
@@ -108,10 +108,10 @@ describe "viewing products", type: :feature, inaccessible: true do
|
|
108
108
|
tmp = page.all('ul.product-listing li a').map(&:text).flatten.compact
|
109
109
|
tmp.delete("")
|
110
110
|
expect(tmp.sort!).to eq(["Apache Baseball Jersey",
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
111
|
+
"Ruby Baseball Jersey",
|
112
|
+
"Ruby on Rails Baseball Jersey",
|
113
|
+
"Ruby on Rails Jr. Spaghetti",
|
114
|
+
"Ruby on Rails Ringer T-Shirt"])
|
115
115
|
end
|
116
116
|
|
117
117
|
it "should be able to visit category Mugs" do
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe BaseHelper, :
|
4
|
+
describe BaseHelper, type: :helper do
|
5
5
|
# Regression test for https://github.com/spree/spree/issues/2759
|
6
6
|
it "nested_taxons_path works with a Taxon object" do
|
7
|
-
taxon = create(:taxon, :
|
7
|
+
taxon = create(:taxon, name: "iphone")
|
8
8
|
expect(spree.nested_taxons_path(taxon)).to eq("/t/iphone")
|
9
9
|
end
|
10
10
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -27,7 +27,7 @@ require 'ffaker'
|
|
27
27
|
|
28
28
|
# Requires supporting files with custom matchers and macros, etc,
|
29
29
|
# in ./support/ and its subdirectories.
|
30
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
30
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
31
31
|
|
32
32
|
require 'database_cleaner'
|
33
33
|
|
@@ -58,6 +58,8 @@ else
|
|
58
58
|
Capybara.javascript_driver = :poltergeist
|
59
59
|
end
|
60
60
|
|
61
|
+
Capybara.default_max_wait_time = ENV['DEFAULT_MAX_WAIT_TIME'].to_f if ENV['DEFAULT_MAX_WAIT_TIME'].present?
|
62
|
+
|
61
63
|
RSpec.configure do |config|
|
62
64
|
config.color = true
|
63
65
|
config.infer_spec_type_from_file_location!
|
@@ -76,7 +78,7 @@ RSpec.configure do |config|
|
|
76
78
|
config.use_transactional_fixtures = false
|
77
79
|
|
78
80
|
if ENV['WEBDRIVER'] == 'accessible'
|
79
|
-
config.around(:each, :
|
81
|
+
config.around(:each, inaccessible: true) do |example|
|
80
82
|
Capybara::Accessible.skip_audit { example.run }
|
81
83
|
end
|
82
84
|
end
|
@@ -88,7 +90,6 @@ RSpec.configure do |config|
|
|
88
90
|
config.before(:each) do
|
89
91
|
Rails.cache.clear
|
90
92
|
reset_spree_preferences
|
91
|
-
WebMock.disable!
|
92
93
|
if RSpec.current_example.metadata[:js]
|
93
94
|
page.driver.browser.url_blacklist = ['http://fonts.googleapis.com']
|
94
95
|
DatabaseCleaner.strategy = :truncation
|
@@ -102,7 +103,7 @@ RSpec.configure do |config|
|
|
102
103
|
DatabaseCleaner.clean
|
103
104
|
end
|
104
105
|
|
105
|
-
config.after(:each, :
|
106
|
+
config.after(:each, type: :feature) do |example|
|
106
107
|
missing_translations = page.body.scan(/translation missing: #{I18n.locale}\.(.*?)[\s<\"&]/)
|
107
108
|
if missing_translations.any?
|
108
109
|
puts "Found missing translations: #{missing_translations.inspect}"
|
@@ -110,7 +111,6 @@ RSpec.configure do |config|
|
|
110
111
|
end
|
111
112
|
end
|
112
113
|
|
113
|
-
|
114
114
|
config.include FactoryGirl::Syntax::Methods
|
115
115
|
|
116
116
|
config.include Spree::TestingSupport::Preferences
|
@@ -1,25 +1,26 @@
|
|
1
1
|
shared_context "custom products" do
|
2
2
|
before(:each) do
|
3
|
-
|
3
|
+
create(:store)
|
4
|
+
taxonomy = FactoryGirl.create(:taxonomy, name: 'Categories')
|
4
5
|
root = taxonomy.root
|
5
|
-
clothing_taxon = FactoryGirl.create(:taxon, :
|
6
|
-
bags_taxon = FactoryGirl.create(:taxon, :
|
7
|
-
mugs_taxon = FactoryGirl.create(:taxon, :
|
6
|
+
clothing_taxon = FactoryGirl.create(:taxon, name: 'Clothing', parent_id: root.id)
|
7
|
+
bags_taxon = FactoryGirl.create(:taxon, name: 'Bags', parent_id: root.id)
|
8
|
+
mugs_taxon = FactoryGirl.create(:taxon, name: 'Mugs', parent_id: root.id)
|
8
9
|
|
9
|
-
taxonomy = FactoryGirl.create(:taxonomy, :
|
10
|
+
taxonomy = FactoryGirl.create(:taxonomy, name: 'Brands')
|
10
11
|
root = taxonomy.root
|
11
|
-
apache_taxon = FactoryGirl.create(:taxon, :
|
12
|
-
rails_taxon = FactoryGirl.create(:taxon, :
|
13
|
-
ruby_taxon = FactoryGirl.create(:taxon, :
|
12
|
+
apache_taxon = FactoryGirl.create(:taxon, name: 'Apache', parent_id: root.id)
|
13
|
+
rails_taxon = FactoryGirl.create(:taxon, name: 'Ruby on Rails', parent_id: root.id)
|
14
|
+
ruby_taxon = FactoryGirl.create(:taxon, name: 'Ruby', parent_id: root.id)
|
14
15
|
|
15
|
-
FactoryGirl.create(:custom_product, :
|
16
|
-
FactoryGirl.create(:custom_product, :
|
17
|
-
FactoryGirl.create(:custom_product, :
|
18
|
-
FactoryGirl.create(:custom_product, :
|
19
|
-
FactoryGirl.create(:custom_product, :
|
20
|
-
FactoryGirl.create(:custom_product, :
|
21
|
-
FactoryGirl.create(:custom_product, :
|
22
|
-
FactoryGirl.create(:custom_product, :
|
23
|
-
FactoryGirl.create(:custom_product, :
|
16
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Ringer T-Shirt', price: '19.99', taxons: [rails_taxon, clothing_taxon])
|
17
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Mug', price: '15.99', taxons: [rails_taxon, mugs_taxon])
|
18
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Tote', price: '15.99', taxons: [rails_taxon, bags_taxon])
|
19
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Bag', price: '22.99', taxons: [rails_taxon, bags_taxon])
|
20
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Baseball Jersey', price: '19.99', taxons: [rails_taxon, clothing_taxon])
|
21
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Stein', price: '16.99', taxons: [rails_taxon, mugs_taxon])
|
22
|
+
FactoryGirl.create(:custom_product, name: 'Ruby on Rails Jr. Spaghetti', price: '19.99', taxons: [rails_taxon, clothing_taxon])
|
23
|
+
FactoryGirl.create(:custom_product, name: 'Ruby Baseball Jersey', price: '19.99', taxons: [ruby_taxon, clothing_taxon])
|
24
|
+
FactoryGirl.create(:custom_product, name: 'Apache Baseball Jersey', price: '19.99', taxons: [apache_taxon, clothing_taxon])
|
24
25
|
end
|
25
26
|
end
|