solidus_frontend 1.2.3 → 1.3.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|