solidus_backend 1.1.4 → 1.2.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_backend might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/images/solidus-style-guide-logo.png +0 -0
- data/app/assets/javascripts/spree/backend/admin.js.erb +1 -7
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +2 -2
- data/app/assets/javascripts/spree/backend/navigation.coffee +10 -0
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js.erb +6 -6
- data/app/assets/javascripts/spree/backend/option_value_picker.js +6 -6
- data/app/assets/javascripts/spree/backend/product_picker.js +6 -6
- data/app/assets/javascripts/spree/backend/shipments.js.erb +17 -3
- data/app/assets/javascripts/spree/backend/stock_movement.js.coffee +2 -2
- data/app/assets/javascripts/spree/backend/style_guide.coffee +2 -0
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js.erb +6 -6
- data/app/assets/javascripts/spree/backend/taxonomy.js.coffee +82 -109
- data/app/assets/javascripts/spree/backend/taxons.js.coffee +4 -5
- data/app/assets/javascripts/spree/backend/user_picker.js +8 -8
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js.coffee.erb +3 -3
- data/app/assets/javascripts/spree/backend.js +3 -6
- data/app/assets/stylesheets/spree/backend/components/_messages.scss +1 -4
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +99 -115
- data/app/assets/stylesheets/spree/backend/components/_progress.scss +1 -1
- data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +6 -0
- data/app/assets/stylesheets/spree/backend/globals/_variables.scss +18 -0
- data/app/assets/stylesheets/spree/backend/globals/mixins/_caret.scss +35 -0
- data/app/assets/stylesheets/spree/backend/plugins/_powertip.scss +1 -0
- data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +132 -0
- data/app/assets/stylesheets/spree/backend/sections/_taxonomies.scss +60 -0
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +2 -0
- data/app/assets/stylesheets/spree/backend/shared/_layout.scss +36 -4
- data/app/assets/stylesheets/spree/backend/shared/_typography.scss +3 -6
- data/app/assets/stylesheets/spree/backend/spree_admin.scss +4 -1
- data/app/assets/stylesheets/spree/backend.css +1 -1
- data/app/controllers/spree/admin/orders_controller.rb +6 -6
- data/app/controllers/spree/admin/payment_methods_controller.rb +1 -1
- data/app/controllers/spree/admin/payments_controller.rb +1 -1
- data/app/controllers/spree/admin/products_controller.rb +0 -1
- data/app/controllers/spree/admin/reports_controller.rb +2 -2
- data/app/controllers/spree/admin/search_controller.rb +9 -7
- data/app/controllers/spree/admin/stock_transfers_controller.rb +6 -14
- data/app/controllers/spree/admin/style_guide_controller.rb +33 -0
- data/app/helpers/spree/admin/adjustments_helper.rb +2 -6
- data/app/helpers/spree/admin/base_helper.rb +7 -6
- data/app/helpers/spree/admin/navigation_helper.rb +12 -5
- data/app/helpers/spree/admin/orders_helper.rb +1 -1
- data/app/helpers/spree/admin/products_helper.rb +2 -4
- data/app/helpers/spree/admin/stock_movements_helper.rb +3 -3
- data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
- data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +1 -1
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +1 -1
- data/app/views/spree/admin/customer_returns/edit.html.erb +1 -1
- data/app/views/spree/admin/images/edit.html.erb +1 -3
- data/app/views/spree/admin/images/index.html.erb +0 -2
- data/app/views/spree/admin/option_types/edit.html.erb +2 -4
- data/app/views/spree/admin/option_types/index.html.erb +0 -2
- data/app/views/spree/admin/option_types/new.html.erb +0 -2
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +1 -1
- data/app/views/spree/admin/orders/index.html.erb +1 -1
- data/app/views/spree/admin/product_properties/index.html.erb +0 -1
- data/app/views/spree/admin/products/edit.html.erb +0 -2
- data/app/views/spree/admin/products/index.html.erb +2 -4
- data/app/views/spree/admin/products/new.html.erb +0 -2
- data/app/views/spree/admin/promotion_categories/edit.html.erb +0 -2
- data/app/views/spree/admin/promotion_categories/index.html.erb +0 -2
- data/app/views/spree/admin/promotion_categories/new.html.erb +0 -2
- data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +2 -28
- data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +2 -26
- data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +28 -0
- data/app/views/spree/admin/promotions/edit.html.erb +0 -2
- data/app/views/spree/admin/promotions/index.html.erb +0 -2
- data/app/views/spree/admin/promotions/new.html.erb +0 -2
- data/app/views/spree/admin/properties/edit.html.erb +0 -2
- data/app/views/spree/admin/properties/index.html.erb +2 -4
- data/app/views/spree/admin/properties/new.html.erb +0 -2
- data/app/views/spree/admin/properties/new.js.erb +1 -1
- data/app/views/spree/admin/prototypes/edit.html.erb +0 -2
- data/app/views/spree/admin/prototypes/index.html.erb +0 -2
- data/app/views/spree/admin/prototypes/new.html.erb +0 -2
- data/app/views/spree/admin/reimbursements/edit.html.erb +2 -2
- data/app/views/spree/admin/reimbursements/show.html.erb +9 -9
- data/app/views/spree/admin/return_authorizations/_form.html.erb +16 -16
- data/app/views/spree/admin/search/users.rabl +1 -1
- data/app/views/spree/admin/shared/_head.html.erb +11 -0
- data/app/views/spree/admin/shared/_header.html.erb +4 -8
- data/app/views/spree/admin/shared/_menu.html.erb +4 -8
- data/app/views/spree/admin/shared/_navigation.html.erb +9 -0
- data/app/views/spree/admin/shared/_navigation_footer.html.erb +3 -0
- data/app/views/spree/admin/shared/_product_sub_menu.html.erb +20 -22
- data/app/views/spree/admin/shared/_promotion_sub_menu.html.erb +8 -10
- data/app/views/spree/admin/shared/_stock_sub_menu.html.erb +8 -10
- data/app/views/spree/admin/shared/_tabs.html.erb +9 -3
- data/app/views/spree/admin/shipping_methods/_form.html.erb +2 -2
- data/app/views/spree/admin/stock_items/index.html.erb +1 -2
- data/app/views/spree/admin/stock_transfers/edit.html.erb +0 -1
- data/app/views/spree/admin/stock_transfers/index.html.erb +0 -3
- data/app/views/spree/admin/stock_transfers/new.html.erb +0 -2
- data/app/views/spree/admin/stock_transfers/receive.html.erb +0 -2
- data/app/views/spree/admin/stock_transfers/show.html.erb +0 -2
- data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +0 -2
- data/app/views/spree/admin/style_guide/index.html.erb +5 -0
- data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +79 -0
- data/app/views/spree/admin/style_guide/topics/forms/_validation.html.erb +14 -0
- data/app/views/spree/admin/style_guide/topics/messaging/_flashes.html.erb +13 -0
- data/app/views/spree/admin/style_guide/topics/messaging/_loading.html.erb +20 -0
- data/app/views/spree/admin/style_guide/topics/messaging/_tooltips.html.erb +16 -0
- data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +44 -0
- data/app/views/spree/admin/style_guide/topics/tables/_pagination.html.erb +11 -0
- data/app/views/spree/admin/style_guide/topics/typography/_colors.html.erb +64 -0
- data/app/views/spree/admin/style_guide/topics/typography/_fonts.html.erb +19 -0
- data/app/views/spree/admin/style_guide/topics/typography/_icons.html.erb +13 -0
- data/app/views/spree/admin/style_guide/topics/typography/_lists.html.erb +25 -0
- data/app/views/spree/admin/style_guide/topics/typography/_tags.html.erb +25 -0
- data/app/views/spree/admin/taxonomies/_js_head.html.erb +0 -0
- data/app/views/spree/admin/taxonomies/edit.erb +5 -6
- data/app/views/spree/admin/taxonomies/index.html.erb +0 -2
- data/app/views/spree/admin/taxonomies/new.html.erb +0 -2
- data/app/views/spree/admin/taxons/_form.html.erb +1 -1
- data/app/views/spree/admin/taxons/_list_template.html.erb +17 -0
- data/app/views/spree/admin/taxons/index.html.erb +0 -3
- data/app/views/spree/admin/users/orders.html.erb +1 -1
- data/app/views/spree/admin/variants/edit.html.erb +0 -2
- data/app/views/spree/admin/variants/index.html.erb +0 -2
- data/app/views/spree/layouts/admin.html.erb +3 -4
- data/app/views/spree/layouts/admin_style_guide.html.erb +58 -0
- data/config/routes.rb +4 -2
- data/lib/spree/backend/engine.rb +0 -1
- data/lib/spree/backend.rb +0 -3
- data/solidus_backend.gemspec +5 -7
- data/spec/controllers/spree/admin/missing_products_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/orders_controller_spec.rb +14 -14
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +2 -4
- data/spec/controllers/spree/admin/payments_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/products_controller_spec.rb +3 -3
- data/spec/controllers/spree/admin/reports_controller_spec.rb +4 -4
- data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +13 -11
- data/spec/features/admin/configuration/general_settings_spec.rb +10 -7
- data/spec/features/admin/configuration/payment_methods_spec.rb +1 -1
- data/spec/features/admin/configuration/shipping_methods_spec.rb +1 -1
- data/spec/features/admin/configuration/states_spec.rb +1 -1
- data/spec/features/admin/configuration/tax_rates_spec.rb +6 -7
- data/spec/features/admin/configuration/taxonomies_spec.rb +3 -3
- data/spec/features/admin/homepage_spec.rb +6 -6
- data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +4 -8
- data/spec/features/admin/orders/customer_details_spec.rb +9 -8
- data/spec/features/admin/orders/line_items_spec.rb +1 -1
- data/spec/features/admin/orders/listing_spec.rb +2 -2
- data/spec/features/admin/orders/log_entries_spec.rb +3 -3
- data/spec/features/admin/orders/new_order_spec.rb +3 -15
- data/spec/features/admin/orders/order_details_spec.rb +17 -20
- data/spec/features/admin/orders/payments_spec.rb +10 -10
- data/spec/features/admin/orders/shipments_spec.rb +2 -2
- data/spec/features/admin/products/edit/images_spec.rb +5 -3
- data/spec/features/admin/products/edit/products_spec.rb +11 -11
- data/spec/features/admin/products/edit/taxons_spec.rb +14 -38
- data/spec/features/admin/products/edit/variants_spec.rb +3 -3
- data/spec/features/admin/products/option_types_spec.rb +22 -21
- data/spec/features/admin/products/products_spec.rb +15 -12
- data/spec/features/admin/products/properties_spec.rb +3 -3
- data/spec/features/admin/products/prototypes_spec.rb +4 -4
- data/spec/features/admin/products/stock_management_spec.rb +5 -5
- data/spec/features/admin/products/variant_spec.rb +8 -8
- data/spec/features/admin/promotion_adjustments_spec.rb +6 -13
- data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -20
- data/spec/features/admin/reports_spec.rb +2 -2
- data/spec/features/admin/stock_transfer_spec.rb +3 -3
- data/spec/features/admin/store_credits_spec.rb +2 -2
- data/spec/features/admin/users_spec.rb +6 -6
- data/spec/helpers/admin/navigation_helper_spec.rb +5 -0
- data/spec/helpers/admin/reimbursements_helper_spec.rb +1 -1
- data/spec/helpers/admin/store_credit_events_helper_spec.rb +1 -1
- data/spec/spec_helper.rb +3 -1
- data/spec/support/feature/base_feature_helper.rb +10 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/vendor/assets/javascripts/jquery.powertip.js +792 -423
- data/vendor/assets/javascripts/jquery.sticky-kit.min.js +10 -0
- data/vendor/assets/javascripts/prism.js +7 -0
- data/vendor/assets/stylesheets/prism.css +139 -0
- metadata +44 -51
- data/app/assets/stylesheets/spree/backend/plugins/_jstree.scss +0 -135
- data/app/views/spree/admin/shared/_sub_menu.html.erb +0 -9
- data/spec/features/admin/promotions/user_rule_spec.rb +0 -25
- data/vendor/assets/javascripts/equalize.js +0 -41
- data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +0 -4540
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/bg.jpg +0 -0
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/d.png +0 -0
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/dot_for_ie.gif +0 -0
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/style.scss +0 -61
- data/vendor/assets/javascripts/jquery.jstree/themes/apple/throbber.gif +0 -0
- data/vendor/assets/javascripts/jquery.vAlign.js +0 -11
- data/vendor/assets/javascripts/modernizr.js +0 -4
- data/vendor/assets/javascripts/responsive-tables.js +0 -42
- data/vendor/assets/stylesheets/responsive-tables.css +0 -21
@@ -10,7 +10,7 @@ module Spree
|
|
10
10
|
|
11
11
|
let(:payment_method) { GatewayWithPassword.create!(:name => "Bogus", :preferred_password => "haxme") }
|
12
12
|
|
13
|
-
# regression test for
|
13
|
+
# regression test for https://github.com/spree/spree/issues/2094
|
14
14
|
it "does not clear password on update" do
|
15
15
|
expect(payment_method.preferred_password).to eq("haxme")
|
16
16
|
spree_put :update, :id => payment_method.id, :payment_method => { :type => payment_method.class.to_s, :preferred_password => "" }
|
@@ -22,9 +22,7 @@ module Spree
|
|
22
22
|
|
23
23
|
context "tries to save invalid payment" do
|
24
24
|
it "doesn't break, responds nicely" do
|
25
|
-
|
26
|
-
spree_post :create, :payment_method => { :name => "", :type => "Spree::Gateway::Bogus" }
|
27
|
-
}.not_to raise_error
|
25
|
+
spree_post :create, :payment_method => { :name => "", :type => "Spree::Gateway::Bogus" }
|
28
26
|
end
|
29
27
|
end
|
30
28
|
|
@@ -23,7 +23,7 @@ module Spree
|
|
23
23
|
:source_attributes => {
|
24
24
|
:name => "Test User",
|
25
25
|
:number => "4111 1111 1111 1111",
|
26
|
-
:expiry => "09 / #{Time.
|
26
|
+
:expiry => "09 / #{Time.current.year + 1}",
|
27
27
|
:verification_value => "123"
|
28
28
|
}
|
29
29
|
}
|
@@ -71,7 +71,7 @@ module Spree
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
# Regression test for
|
74
|
+
# Regression test for https://github.com/spree/spree/issues/3233
|
75
75
|
context "with a backend payment method" do
|
76
76
|
before do
|
77
77
|
@payment_method = create(:check_payment_method, :display_on => "back_end")
|
@@ -6,7 +6,7 @@ describe Spree::Admin::ProductsController, :type => :controller do
|
|
6
6
|
context "#index" do
|
7
7
|
let(:ability_user) { stub_model(Spree::LegacyUser, :has_spree_role? => true) }
|
8
8
|
|
9
|
-
# Regression test for
|
9
|
+
# Regression test for https://github.com/spree/spree/issues/1259
|
10
10
|
it "can find a product by SKU" do
|
11
11
|
product = create(:product, :sku => "ABC123")
|
12
12
|
spree_get :index, :q => { :sku_start => "ABC123" }
|
@@ -15,7 +15,7 @@ describe Spree::Admin::ProductsController, :type => :controller do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
# regression test for
|
18
|
+
# regression test for https://github.com/spree/spree/issues/1370
|
19
19
|
context "adding properties to a product" do
|
20
20
|
let!(:product) { create(:product) }
|
21
21
|
specify do
|
@@ -143,7 +143,7 @@ describe Spree::Admin::ProductsController, :type => :controller do
|
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
146
|
-
# regression test for
|
146
|
+
# regression test for https://github.com/spree/spree/issues/801
|
147
147
|
context "destroying a product" do
|
148
148
|
let(:product) do
|
149
149
|
product = create(:product)
|
@@ -31,10 +31,10 @@ describe Spree::Admin::ReportsController, :type => :controller do
|
|
31
31
|
|
32
32
|
before do
|
33
33
|
# can't set completed_at during factory creation
|
34
|
-
order_complete_start_of_month.completed_at = Time.
|
34
|
+
order_complete_start_of_month.completed_at = Time.current.beginning_of_month + 1.minute
|
35
35
|
order_complete_start_of_month.save!
|
36
36
|
|
37
|
-
order_complete_mid_month.completed_at = Time.
|
37
|
+
order_complete_mid_month.completed_at = Time.current.beginning_of_month + 15.days
|
38
38
|
order_complete_mid_month.save!
|
39
39
|
end
|
40
40
|
|
@@ -84,7 +84,7 @@ describe Spree::Admin::ReportsController, :type => :controller do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
context 'when params has a completed_at_gt' do
|
87
|
-
let(:params) { { q: { completed_at_gt: Time.
|
87
|
+
let(:params) { { q: { completed_at_gt: Time.current.beginning_of_month + 1.day } } }
|
88
88
|
|
89
89
|
it_behaves_like 'sales total report' do
|
90
90
|
let(:expected_returned_orders) { [order_complete_mid_month] }
|
@@ -101,7 +101,7 @@ describe Spree::Admin::ReportsController, :type => :controller do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
context 'when params has a compeleted_at_lt' do
|
104
|
-
let(:params) { { q: { completed_at_lt: Time.
|
104
|
+
let(:params) { { q: { completed_at_lt: Time.current.beginning_of_month } } }
|
105
105
|
|
106
106
|
it_behaves_like 'sales total report' do
|
107
107
|
let(:expected_returned_orders) { [order_complete_start_of_month] }
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Spree::Admin::ReturnAuthorizationsController, :type => :controller do
|
4
4
|
stub_authorization!
|
5
5
|
|
6
|
-
# Regression test for
|
6
|
+
# Regression test for https://github.com/spree/spree/issues/1370 #3
|
7
7
|
let!(:order) { create(:shipped_order, line_items_count: 3) }
|
8
8
|
let!(:return_reason) { create(:return_reason) }
|
9
9
|
let(:inventory_unit_1) { order.inventory_units.order('id asc')[0] }
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Spree::Admin::ShippingMethodsController, :type => :controller do
|
4
4
|
stub_authorization!
|
5
5
|
|
6
|
-
# Regression test for
|
6
|
+
# Regression test for https://github.com/spree/spree/issues/1240
|
7
7
|
it "should not hard-delete shipping methods" do
|
8
8
|
shipping_method = stub_model(Spree::ShippingMethod)
|
9
9
|
allow(Spree::ShippingMethod).to receive_messages :find => shipping_method
|
@@ -5,7 +5,7 @@ module Spree
|
|
5
5
|
describe StockLocationsController, :type => :controller do
|
6
6
|
stub_authorization!
|
7
7
|
|
8
|
-
# Regression for
|
8
|
+
# Regression for https://github.com/spree/spree/issues/4272
|
9
9
|
context "with no countries present" do
|
10
10
|
it "cannot create a new stock location" do
|
11
11
|
spree_get :new
|
@@ -20,8 +20,8 @@ module Spree
|
|
20
20
|
StockTransfer.create do |transfer|
|
21
21
|
transfer.source_location_id = warehouse.id
|
22
22
|
transfer.destination_location_id = la_store.id
|
23
|
-
transfer.finalized_at = DateTime.
|
24
|
-
transfer.closed_at = DateTime.
|
23
|
+
transfer.finalized_at = DateTime.current
|
24
|
+
transfer.closed_at = DateTime.current
|
25
25
|
end }
|
26
26
|
|
27
27
|
describe "stock location filtering" do
|
@@ -31,8 +31,8 @@ module Spree
|
|
31
31
|
|
32
32
|
before do
|
33
33
|
ability.cannot :manage, Spree::StockLocation
|
34
|
-
ability.can :
|
35
|
-
ability.can :
|
34
|
+
ability.can :display, Spree::StockLocation, id: [warehouse.id]
|
35
|
+
ability.can :display, Spree::StockLocation, id: [ny_store.id, la_store.id]
|
36
36
|
|
37
37
|
allow_any_instance_of(Spree::Admin::BaseController).to receive(:spree_current_user).and_return(user)
|
38
38
|
allow_any_instance_of(Spree::Admin::BaseController).to receive(:current_ability).and_return(ability)
|
@@ -163,7 +163,7 @@ module Spree
|
|
163
163
|
|
164
164
|
context 'stock transfer is not finalizable' do
|
165
165
|
before do
|
166
|
-
transfer_with_items.update_attributes(finalized_at: Time.
|
166
|
+
transfer_with_items.update_attributes(finalized_at: Time.current)
|
167
167
|
end
|
168
168
|
|
169
169
|
it 'redirects back to edit' do
|
@@ -302,12 +302,14 @@ module Spree
|
|
302
302
|
end
|
303
303
|
end
|
304
304
|
|
305
|
-
context "#
|
306
|
-
let(:stock_transfer) { Spree::StockTransfer.create(source_location: warehouse, destination_location: ny_store, created_by: create(:admin_user))}
|
305
|
+
context "#ship" do
|
306
|
+
let(:stock_transfer) { Spree::StockTransfer.create(source_location: warehouse, destination_location: ny_store, created_by: create(:admin_user)) }
|
307
307
|
let(:transfer_variant) { create(:variant) }
|
308
308
|
let(:warehouse_stock_item) { warehouse.stock_items.find_by(variant: transfer_variant) }
|
309
309
|
let(:ny_stock_item) { ny_store.stock_items.find_by(variant: transfer_variant) }
|
310
310
|
|
311
|
+
subject { spree_put :ship, id: stock_transfer.number }
|
312
|
+
|
311
313
|
before do
|
312
314
|
warehouse_stock_item.set_count_on_hand(1)
|
313
315
|
stock_transfer.transfer_items.create!(variant: transfer_variant, expected_quantity: 1)
|
@@ -316,14 +318,14 @@ module Spree
|
|
316
318
|
context "with transferable items" do
|
317
319
|
|
318
320
|
it "marks the transfer shipped" do
|
319
|
-
|
321
|
+
subject
|
320
322
|
|
321
323
|
expect(stock_transfer.reload.shipped_at).to_not be_nil
|
322
324
|
expect(flash[:success]).to be_present
|
323
325
|
end
|
324
326
|
|
325
327
|
it "makes stock movements for the transferred items" do
|
326
|
-
|
328
|
+
subject
|
327
329
|
|
328
330
|
expect(Spree::StockMovement.count).to eq 1
|
329
331
|
expect(warehouse_stock_item.reload.count_on_hand).to eq 0
|
@@ -334,13 +336,13 @@ module Spree
|
|
334
336
|
before { warehouse_stock_item.set_count_on_hand(0) }
|
335
337
|
|
336
338
|
it "does not mark the transfer shipped" do
|
337
|
-
|
339
|
+
subject
|
338
340
|
|
339
341
|
expect(stock_transfer.reload.shipped_at).to be_nil
|
340
342
|
end
|
341
343
|
|
342
344
|
it "errors and redirects to tracking_info page" do
|
343
|
-
|
345
|
+
subject
|
344
346
|
|
345
347
|
expect(flash[:error]).to match /not enough inventory/
|
346
348
|
expect(response).to redirect_to(spree.tracking_info_admin_stock_transfer_path(stock_transfer))
|
@@ -3,9 +3,12 @@ require 'spec_helper'
|
|
3
3
|
describe "General Settings", type: :feature, js: true do
|
4
4
|
stub_authorization!
|
5
5
|
|
6
|
+
let!(:store) do
|
7
|
+
create(:store, name: 'Test Store', url: 'test.example.org',
|
8
|
+
mail_from_address: 'test@example.org')
|
9
|
+
end
|
10
|
+
|
6
11
|
before(:each) do
|
7
|
-
store = create(:store, name: 'Test Store', url: 'test.example.org',
|
8
|
-
mail_from_address: 'test@example.org')
|
9
12
|
visit spree.admin_path
|
10
13
|
click_link "Settings"
|
11
14
|
click_link "General Settings"
|
@@ -14,9 +17,9 @@ describe "General Settings", type: :feature, js: true do
|
|
14
17
|
context "visiting general settings (admin)" do
|
15
18
|
it "should have the right content" do
|
16
19
|
expect(page).to have_content("General Settings")
|
17
|
-
expect(
|
18
|
-
expect(
|
19
|
-
expect(
|
20
|
+
expect(page).to have_field("store_name", with: "Test Store")
|
21
|
+
expect(page).to have_field("store_url", with: "test.example.org")
|
22
|
+
expect(page).to have_field("store_mail_from_address", with: "test@example.org")
|
20
23
|
end
|
21
24
|
end
|
22
25
|
|
@@ -27,8 +30,8 @@ describe "General Settings", type: :feature, js: true do
|
|
27
30
|
click_button "Update"
|
28
31
|
|
29
32
|
assert_successful_update_message(:general_settings)
|
30
|
-
expect(
|
31
|
-
expect(
|
33
|
+
expect(page).to have_field("store_name", with: "Spree Demo Site99")
|
34
|
+
expect(page).to have_field("store_mail_from_address", with: "spree@example.org")
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
@@ -52,7 +52,7 @@ describe "Payment Methods", :type => :feature do
|
|
52
52
|
fill_in "payment_method_name", :with => "Payment 99"
|
53
53
|
click_button "Update"
|
54
54
|
expect(page).to have_content("successfully updated!")
|
55
|
-
expect(
|
55
|
+
expect(page).to have_field("payment_method_name", with: "Payment 99")
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should display validation errors" do
|
@@ -46,7 +46,7 @@ describe "Shipping Methods", :type => :feature do
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
# Regression test for
|
49
|
+
# Regression test for https://github.com/spree/spree/issues/1331
|
50
50
|
context "update" do
|
51
51
|
it "can change the calculator", :js => true do
|
52
52
|
within("#listing_shipping_methods") do
|
@@ -46,7 +46,7 @@ describe "States", :type => :feature do
|
|
46
46
|
click_button "Create"
|
47
47
|
expect(page).to have_content("successfully created!")
|
48
48
|
expect(page).to have_content("Pest megye")
|
49
|
-
expect(find("#s2id_country
|
49
|
+
expect(find("#s2id_country")).to have_content("Hungary")
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should show validation errors", :js => true do
|
@@ -10,16 +10,15 @@ describe "Tax Rates", :type => :feature do
|
|
10
10
|
click_link "Settings"
|
11
11
|
end
|
12
12
|
|
13
|
-
# Regression test for
|
13
|
+
# Regression test for https://github.com/spree/spree/issues/535
|
14
14
|
it "can see a tax rate in the list if the tax category has been deleted" do
|
15
|
-
tax_rate.tax_category.update_column(:deleted_at, Time.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
end
|
15
|
+
tax_rate.tax_category.update_column(:deleted_at, Time.current)
|
16
|
+
click_link "Tax Rates"
|
17
|
+
|
18
|
+
expect(find("table tbody td:nth-child(3)")).to have_content('N/A')
|
20
19
|
end
|
21
20
|
|
22
|
-
# Regression test for
|
21
|
+
# Regression test for https://github.com/spree/spree/issues/1422
|
23
22
|
it "can create a new tax rate" do
|
24
23
|
click_link "Tax Rates"
|
25
24
|
click_link "New Tax Rate"
|
@@ -12,7 +12,7 @@ describe "Taxonomies", :type => :feature do
|
|
12
12
|
it "should display existing taxonomies" do
|
13
13
|
create(:taxonomy, :name => 'Brand')
|
14
14
|
create(:taxonomy, :name => 'Categories')
|
15
|
-
|
15
|
+
click_nav "Products", "Taxonomies"
|
16
16
|
within_row(1) { expect(page).to have_content("Brand") }
|
17
17
|
within_row(2) { expect(page).to have_content("Categories") }
|
18
18
|
end
|
@@ -20,7 +20,7 @@ describe "Taxonomies", :type => :feature do
|
|
20
20
|
|
21
21
|
context "create" do
|
22
22
|
before(:each) do
|
23
|
-
|
23
|
+
click_nav "Products", "Taxonomies"
|
24
24
|
click_link "admin_new_taxonomy_link"
|
25
25
|
end
|
26
26
|
|
@@ -41,7 +41,7 @@ describe "Taxonomies", :type => :feature do
|
|
41
41
|
context "edit" do
|
42
42
|
it "should allow an admin to update an existing taxonomy" do
|
43
43
|
create(:taxonomy)
|
44
|
-
|
44
|
+
click_nav "Products", "Taxonomies"
|
45
45
|
within_row(1) { click_icon :edit }
|
46
46
|
fill_in "taxonomy_name", :with => "sports 99"
|
47
47
|
click_button "Update"
|
@@ -11,7 +11,7 @@ describe "Homepage", :type => :feature do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should have a link to overview" do
|
14
|
-
within(
|
14
|
+
within(".admin-nav-header") { page.find(:xpath, "a[@href='/admin']") }
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should have a link to orders" do
|
@@ -19,7 +19,7 @@ describe "Homepage", :type => :feature do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should have a link to products" do
|
22
|
-
page.
|
22
|
+
page.assert_selector(:link, text: "Products", count: 2)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should have a link to reports" do
|
@@ -37,19 +37,19 @@ describe "Homepage", :type => :feature do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should have a link to products" do
|
40
|
-
within('
|
40
|
+
within('.selected .admin-subnav') { page.find_link("Products")['/admin/products'] }
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should have a link to option types" do
|
44
|
-
within('
|
44
|
+
within('.selected .admin-subnav') { page.find_link("Option Types")['/admin/option_types'] }
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should have a link to properties" do
|
48
|
-
within('
|
48
|
+
within('.selected .admin-subnav') { page.find_link("Properties")['/admin/properties'] }
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should have a link to prototypes" do
|
52
|
-
within('
|
52
|
+
within('.selected .admin-subnav') { page.find_link("Prototypes")['/admin/prototypes'] }
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -14,8 +14,8 @@ describe "Cancelling + Resuming", :type => :feature do
|
|
14
14
|
let(:order) do
|
15
15
|
order = create(:order)
|
16
16
|
order.update_columns({
|
17
|
-
:
|
18
|
-
:
|
17
|
+
state: 'complete',
|
18
|
+
completed_at: Time.current
|
19
19
|
})
|
20
20
|
order
|
21
21
|
end
|
@@ -24,9 +24,7 @@ describe "Cancelling + Resuming", :type => :feature do
|
|
24
24
|
visit spree.edit_admin_order_path(order.number)
|
25
25
|
click_button 'cancel'
|
26
26
|
within(".additional-info") do
|
27
|
-
|
28
|
-
expect(page).to have_content("canceled")
|
29
|
-
end
|
27
|
+
expect(find('dt#order_status + dd')).to have_content("canceled")
|
30
28
|
end
|
31
29
|
end
|
32
30
|
|
@@ -39,9 +37,7 @@ describe "Cancelling + Resuming", :type => :feature do
|
|
39
37
|
visit spree.edit_admin_order_path(order.number)
|
40
38
|
click_button 'resume'
|
41
39
|
within(".additional-info") do
|
42
|
-
|
43
|
-
expect(page).to have_content("resumed")
|
44
|
-
end
|
40
|
+
expect(find('dt#order_status + dd')).to have_content("resumed")
|
45
41
|
end
|
46
42
|
end
|
47
43
|
end
|
@@ -6,7 +6,7 @@ describe "Customer Details", type: :feature, js: true do
|
|
6
6
|
let(:country) { create(:country, name: "Kangaland") }
|
7
7
|
let(:state) { create(:state, name: "Alabama", country: country) }
|
8
8
|
let!(:shipping_method) { create(:shipping_method, display_on: "front_end") }
|
9
|
-
let!(:order) { create(:order, state: 'complete', completed_at: "2011-02-01 12:36:15") }
|
9
|
+
let!(:order) { create(:order, ship_address: ship_address, bill_address: bill_address, state: 'complete', completed_at: "2011-02-01 12:36:15") }
|
10
10
|
let!(:product) { create(:product_in_stock) }
|
11
11
|
|
12
12
|
# We need a unique name that will appear for the customer dropdown
|
@@ -16,7 +16,7 @@ describe "Customer Details", type: :feature, js: true do
|
|
16
16
|
let!(:user) { create(:user, email: 'foobar@example.com', ship_address: ship_address, bill_address: bill_address) }
|
17
17
|
|
18
18
|
context "brand new order" do
|
19
|
-
# Regression test for
|
19
|
+
# Regression test for https://github.com/spree/spree/issues/3335 and https://github.com/spree/spree/issues/5317
|
20
20
|
it "associates a user when not using guest checkout" do
|
21
21
|
visit spree.admin_path
|
22
22
|
click_link "Orders"
|
@@ -69,8 +69,9 @@ describe "Customer Details", type: :feature, js: true do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
click_button "Update"
|
72
|
+
expect(page).to have_content "Customer Details Updated"
|
72
73
|
click_link "Customer Details"
|
73
|
-
expect(
|
74
|
+
expect(page).to have_field("order_bill_address_attributes_state_name", with: "Piaui")
|
74
75
|
end
|
75
76
|
end
|
76
77
|
|
@@ -85,10 +86,10 @@ describe "Customer Details", type: :feature, js: true do
|
|
85
86
|
click_button "Update"
|
86
87
|
click_link "Customer Details"
|
87
88
|
|
88
|
-
# Regression test for
|
89
|
+
# Regression test for https://github.com/spree/spree/issues/2950 and https://github.com/spree/spree/issues/2433
|
89
90
|
# This act should transition the state of the order as far as it will go too
|
90
91
|
within("#order_tab_summary") do
|
91
|
-
expect(find("
|
92
|
+
expect(find("dt#order_status + dd")).to have_content("COMPLETE")
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
@@ -121,11 +122,11 @@ describe "Customer Details", type: :feature, js: true do
|
|
121
122
|
|
122
123
|
it "sets default country when displaying form" do
|
123
124
|
click_link "Customer Details"
|
124
|
-
expect(
|
125
|
+
expect(page).to have_field("order_bill_address_attributes_country_id", with: brazil.id)
|
125
126
|
end
|
126
127
|
end
|
127
128
|
|
128
|
-
# Regression test for
|
129
|
+
# Regression test for https://github.com/spree/spree/issues/942
|
129
130
|
context "errors when no shipping methods are available" do
|
130
131
|
before do
|
131
132
|
Spree::ShippingMethod.delete_all
|
@@ -144,7 +145,7 @@ describe "Customer Details", type: :feature, js: true do
|
|
144
145
|
|
145
146
|
page.select('Alabama', from: 'order_ship_address_attributes_state_id')
|
146
147
|
fill_in "order_ship_address_attributes_phone", with: "123-456-7890"
|
147
|
-
|
148
|
+
click_button "Update"
|
148
149
|
end
|
149
150
|
end
|
150
151
|
end
|
@@ -79,13 +79,13 @@ describe "Orders Listing", type: :feature, js: true do
|
|
79
79
|
Spree::Config[:orders_per_page] = @old_per_page
|
80
80
|
end
|
81
81
|
|
82
|
-
# Regression test for
|
82
|
+
# Regression test for https://github.com/spree/spree/issues/4004
|
83
83
|
it "should be able to go from page to page for incomplete orders" do
|
84
84
|
10.times { Spree::Order.create email: "incomplete@example.com" }
|
85
85
|
click_on 'Filter'
|
86
86
|
uncheck "q_completed_at_not_null"
|
87
87
|
click_on 'Filter Results'
|
88
|
-
within(".pagination") do
|
88
|
+
within(".pagination", match: :first) do
|
89
89
|
click_link "2"
|
90
90
|
end
|
91
91
|
expect(page).to have_content("incomplete@example.com")
|
@@ -21,7 +21,7 @@ describe "Log entries", :type => :feature do
|
|
21
21
|
|
22
22
|
it "shows a successful attempt" do
|
23
23
|
visit spree.admin_order_payments_path(payment.order)
|
24
|
-
|
24
|
+
click_on payment.number
|
25
25
|
click_link "Logs"
|
26
26
|
within("#listing_log_entries") do
|
27
27
|
expect(page).to have_content("Transaction successful")
|
@@ -45,11 +45,11 @@ describe "Log entries", :type => :feature do
|
|
45
45
|
|
46
46
|
it "shows a failed attempt" do
|
47
47
|
visit spree.admin_order_payments_path(payment.order)
|
48
|
-
|
48
|
+
click_on payment.number
|
49
49
|
click_link "Logs"
|
50
50
|
within("#listing_log_entries") do
|
51
51
|
expect(page).to have_content("Transaction failed")
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
55
|
-
end
|
55
|
+
end
|
@@ -91,7 +91,7 @@ describe "New Order", :type => :feature do
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
# Regression test for
|
94
|
+
# Regression test for https://github.com/spree/spree/issues/3958
|
95
95
|
context "without a delivery step", js: true do
|
96
96
|
before do
|
97
97
|
allow(Spree::Order).to receive_messages checkout_step_names: [:address, :payment, :confirm, :complete]
|
@@ -119,7 +119,7 @@ describe "New Order", :type => :feature do
|
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
122
|
-
# Regression test for
|
122
|
+
# Regression test for https://github.com/spree/spree/issues/3336
|
123
123
|
context "start by customer address" do
|
124
124
|
it "completes order fine", js: true do
|
125
125
|
click_on "Customer Details"
|
@@ -149,7 +149,7 @@ describe "New Order", :type => :feature do
|
|
149
149
|
end
|
150
150
|
end
|
151
151
|
|
152
|
-
# Regression test for
|
152
|
+
# Regression test for https://github.com/spree/spree/issues/5327
|
153
153
|
context "customer with default credit card", js: true do
|
154
154
|
before do
|
155
155
|
create(:credit_card, default: true, user: user)
|
@@ -172,18 +172,6 @@ describe "New Order", :type => :feature do
|
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
175
|
-
context "customer with attempted XSS", js: true do
|
176
|
-
let(:xss_string) { %(<script>throw("XSS")</script>) }
|
177
|
-
before do
|
178
|
-
user.update!(email: xss_string)
|
179
|
-
end
|
180
|
-
it "displays the user's email escaped without executing" do
|
181
|
-
click_on "Customer Details"
|
182
|
-
targetted_select2_search user.email, from: "#s2id_customer_search"
|
183
|
-
expect(page).to have_field("Email", with: xss_string)
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
175
|
def fill_in_address(kind = "bill")
|
188
176
|
fill_in "First Name", with: "John 99"
|
189
177
|
fill_in "Last Name", with: "Doe"
|
@@ -67,7 +67,7 @@ describe "Order Details", type: :feature, js: true do
|
|
67
67
|
expect(page).not_to have_content("spree t-shirt")
|
68
68
|
end
|
69
69
|
|
70
|
-
# Regression test for
|
70
|
+
# Regression test for https://github.com/spree/spree/issues/3862
|
71
71
|
it "can cancel removing an item from a shipment" do
|
72
72
|
expect(page).to have_content("spree t-shirt")
|
73
73
|
|
@@ -373,12 +373,12 @@ describe "Order Details", type: :feature, js: true do
|
|
373
373
|
fill_in 'item_quantity', with: 1
|
374
374
|
click_icon :ok
|
375
375
|
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
376
|
+
within(all('.stock-contents', count: 2).first) do
|
377
|
+
within_row(1) { click_icon 'arrows-h' }
|
378
|
+
targetted_select2 @shipment2.number, from: '#s2id_item_stock_location'
|
379
|
+
fill_in 'item_quantity', with: 200
|
380
|
+
click_icon :ok
|
381
|
+
end
|
382
382
|
|
383
383
|
wait_for_ajax
|
384
384
|
|
@@ -424,26 +424,23 @@ describe "Order Details", type: :feature, js: true do
|
|
424
424
|
product.master.stock_items.last.update_column(:count_on_hand, 0)
|
425
425
|
expect(@shipment2.reload.backordered?).to eq(false)
|
426
426
|
|
427
|
-
|
428
427
|
within_row(1) { click_icon 'arrows-h' }
|
429
428
|
targetted_select2 @shipment2.number, from: '#s2id_item_stock_location'
|
430
429
|
fill_in 'item_quantity', with: 1
|
431
430
|
click_icon :ok
|
432
431
|
|
433
|
-
|
434
|
-
|
435
|
-
expect(@shipment2.reload.backordered?).to eq(true)
|
432
|
+
expect(page).to have_content("1 x backordered")
|
436
433
|
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
434
|
+
within('.stock-contents', text: "1 x on hand") do
|
435
|
+
within_row(1) { click_icon 'arrows-h' }
|
436
|
+
targetted_select2 @shipment2.number, from: '#s2id_item_stock_location'
|
437
|
+
fill_in 'item_quantity', with: 1
|
438
|
+
click_icon :ok
|
439
|
+
end
|
443
440
|
|
444
|
-
|
445
|
-
expect(
|
446
|
-
expect(
|
441
|
+
# Empty shipment should be removed
|
442
|
+
expect(page).to have_css('.stock-contents', count: 1)
|
443
|
+
expect(page).to have_content("2 x backordered")
|
447
444
|
end
|
448
445
|
end
|
449
446
|
end
|