solidus_backend 2.10.2 → 2.11.3
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend.js +4 -1
- data/app/assets/javascripts/spree/backend/adjustments.js +1 -1
- data/app/assets/javascripts/spree/backend/admin.js +18 -29
- data/app/assets/javascripts/spree/backend/collections/states.js +1 -1
- data/app/assets/javascripts/spree/backend/components/selectable_table.js +5 -0
- data/app/assets/javascripts/spree/backend/components/selectable_table/return_items.js +5 -0
- data/app/assets/javascripts/spree/backend/components/selectable_table/summary.js +7 -0
- data/app/assets/javascripts/spree/backend/components/sortable_table.js +31 -25
- data/app/assets/javascripts/spree/backend/models/order.js +3 -3
- data/app/assets/javascripts/spree/backend/models/payment.js +1 -1
- data/app/assets/javascripts/spree/backend/models/shipment.js +1 -1
- data/app/assets/javascripts/spree/backend/models/stock_item.js +1 -1
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -2
- data/app/assets/javascripts/spree/backend/product_picker.js +2 -2
- data/app/assets/javascripts/spree/backend/routes.js +40 -21
- data/app/assets/javascripts/spree/backend/shipments.js +5 -5
- data/app/assets/javascripts/spree/backend/shipping_methods/stock_locations_picker.js +18 -0
- data/app/assets/javascripts/spree/backend/stock_management.js +4 -2
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/taxons.js +3 -3
- data/app/assets/javascripts/spree/backend/templates/index.js +2 -0
- data/app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs +2 -2
- data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +5 -1
- data/app/assets/javascripts/spree/backend/templates/tables/return_item_sum_amount.hbs +7 -0
- data/app/assets/javascripts/spree/backend/templates/tables/selectable_label.hbs +6 -0
- data/app/assets/javascripts/spree/backend/user_picker.js +3 -4
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/views/cart/empty_cart_button.js +2 -2
- data/app/assets/javascripts/spree/backend/views/index.js +4 -0
- data/app/assets/javascripts/spree/backend/views/order/address.js +1 -1
- data/app/assets/javascripts/spree/backend/views/order/customer_select.js +2 -3
- data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +4 -1
- data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +4 -0
- data/app/assets/javascripts/spree/backend/views/tables/return_items.js +9 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table.js +70 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js +32 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table/summary.js +45 -0
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +4 -5
- data/app/assets/stylesheets/spree/backend/sections/_orders.scss +5 -1
- data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +4 -0
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -0
- data/app/controllers/spree/admin/base_controller.rb +6 -0
- data/app/controllers/spree/admin/cancellations_controller.rb +2 -0
- data/app/controllers/spree/admin/customer_returns_controller.rb +4 -4
- data/app/controllers/spree/admin/images_controller.rb +2 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -0
- data/app/controllers/spree/admin/orders_controller.rb +7 -2
- data/app/controllers/spree/admin/payments_controller.rb +3 -1
- data/app/controllers/spree/admin/product_properties_controller.rb +1 -1
- data/app/controllers/spree/admin/products_controller.rb +18 -24
- data/app/controllers/spree/admin/promotion_codes_controller.rb +9 -4
- data/app/controllers/spree/admin/refunds_controller.rb +20 -0
- data/app/controllers/spree/admin/resource_controller.rb +27 -7
- data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
- data/app/controllers/spree/admin/root_controller.rb +1 -1
- data/app/controllers/spree/admin/search_controller.rb +1 -2
- data/app/controllers/spree/admin/stock_items_controller.rb +6 -5
- data/app/controllers/spree/admin/stock_locations_controller.rb +4 -0
- data/app/controllers/spree/admin/stock_movements_controller.rb +7 -0
- data/app/controllers/spree/admin/taxons_controller.rb +12 -1
- data/app/controllers/spree/admin/users/api_key_controller.rb +29 -0
- data/app/controllers/spree/admin/users_controller.rb +37 -20
- data/app/controllers/spree/admin/variants_controller.rb +4 -2
- data/app/controllers/spree/admin/zones_controller.rb +1 -1
- data/app/helpers/spree/admin/base_helper.rb +4 -0
- data/app/helpers/spree/admin/customer_returns_helper.rb +1 -1
- data/app/helpers/spree/admin/navigation_helper.rb +1 -1
- data/app/helpers/spree/admin/orders_helper.rb +8 -4
- data/app/helpers/spree/admin/stock_movements_helper.rb +8 -4
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -3
- data/app/views/spree/admin/images/index.html.erb +25 -21
- data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -1
- data/app/views/spree/admin/option_types/edit.html.erb +3 -1
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +13 -13
- data/app/views/spree/admin/orders/index.html.erb +23 -13
- data/app/views/spree/admin/payment_methods/_form.html.erb +7 -2
- data/app/views/spree/admin/payments/index.html.erb +3 -1
- data/app/views/spree/admin/prices/_master_variant_table.html.erb +3 -3
- data/app/views/spree/admin/prices/_table.html.erb +3 -3
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +7 -2
- data/app/views/spree/admin/product_properties/index.html.erb +14 -2
- data/app/views/spree/admin/products/_form.html.erb +13 -2
- data/app/views/spree/admin/products/index.html.erb +2 -2
- data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +1 -1
- data/app/views/spree/admin/promotions/_activations_new.html.erb +1 -1
- data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
- data/app/views/spree/admin/promotions/edit.html.erb +2 -2
- data/app/views/spree/admin/promotions/index.html.erb +12 -5
- data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -10
- data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
- data/app/views/spree/admin/search/users.json.jbuilder +15 -1
- data/app/views/spree/admin/shared/_address.html.erb +6 -6
- data/app/views/spree/admin/shared/_address_form.html.erb +15 -8
- data/app/views/spree/admin/shared/_order_submenu.html.erb +4 -4
- data/app/views/spree/admin/shared/_payments_tabs.html.erb +1 -1
- data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +5 -5
- data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +6 -6
- data/app/views/spree/admin/shared/_shipping_tabs.html.erb +3 -3
- data/app/views/spree/admin/shared/_taxes_tabs.html.erb +2 -2
- data/app/views/spree/admin/shared/preference_fields/_encrypted_string.html.erb +12 -0
- data/app/views/spree/admin/shipping_methods/_form.html.erb +18 -0
- data/app/views/spree/admin/stock_items/_stock_management.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/index.html.erb +3 -1
- data/app/views/spree/admin/stock_movements/index.html.erb +30 -1
- data/app/views/spree/admin/store_credits/index.html.erb +1 -1
- data/app/views/spree/admin/stores/_form.html.erb +6 -0
- data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +27 -3
- data/app/views/spree/admin/tax_categories/_form.html.erb +1 -0
- data/app/views/spree/admin/users/_form.html.erb +2 -2
- data/app/views/spree/admin/users/_tabs.html.erb +1 -1
- data/app/views/spree/admin/users/edit.html.erb +4 -4
- data/app/views/spree/admin/users/items.html.erb +5 -3
- data/app/views/spree/admin/users/orders.html.erb +5 -3
- data/app/views/spree/admin/variants/_table_filter.html.erb +1 -1
- data/app/views/spree/admin/variants/index.html.erb +2 -2
- data/config/initializers/form_builder.rb +2 -2
- data/lib/spree/backend/engine.rb +0 -2
- data/lib/spree/backend_configuration.rb +14 -1
- data/solidus_backend.gemspec +4 -4
- metadata +24 -123
- data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +0 -35
- data/script/rails +0 -10
- data/spec/controllers/spree/admin/base_controller_spec.rb +0 -26
- data/spec/controllers/spree/admin/cancellations_controller_spec.rb +0 -83
- data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +0 -235
- data/spec/controllers/spree/admin/locale_controller_spec.rb +0 -45
- data/spec/controllers/spree/admin/missing_products_controller_spec.rb +0 -18
- data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -128
- data/spec/controllers/spree/admin/orders_controller_spec.rb +0 -408
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +0 -95
- data/spec/controllers/spree/admin/payments_controller_spec.rb +0 -194
- data/spec/controllers/spree/admin/prices_controller_spec.rb +0 -45
- data/spec/controllers/spree/admin/product_properties_controller_spec.rb +0 -71
- data/spec/controllers/spree/admin/products_controller_spec.rb +0 -270
- data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +0 -23
- data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +0 -32
- data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +0 -36
- data/spec/controllers/spree/admin/promotions_controller_spec.rb +0 -122
- data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -35
- data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +0 -137
- data/spec/controllers/spree/admin/resource_controller_spec.rb +0 -201
- data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +0 -291
- data/spec/controllers/spree/admin/return_items_controller_spec.rb +0 -29
- data/spec/controllers/spree/admin/root_controller_spec.rb +0 -43
- data/spec/controllers/spree/admin/search_controller_spec.rb +0 -106
- data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +0 -16
- data/spec/controllers/spree/admin/stock_items_controller_spec.rb +0 -52
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +0 -44
- data/spec/controllers/spree/admin/store_credits_controller_spec.rb +0 -311
- data/spec/controllers/spree/admin/users_controller_spec.rb +0 -287
- data/spec/controllers/spree/admin/variants_controller_spec.rb +0 -71
- data/spec/features/admin/configuration/payment_methods_spec.rb +0 -176
- data/spec/features/admin/configuration/shipping_methods_spec.rb +0 -126
- data/spec/features/admin/configuration/stock_locations_spec.rb +0 -54
- data/spec/features/admin/configuration/store_spec.rb +0 -62
- data/spec/features/admin/configuration/tax_categories_spec.rb +0 -58
- data/spec/features/admin/configuration/tax_rates_spec.rb +0 -31
- data/spec/features/admin/configuration/taxonomies_spec.rb +0 -61
- data/spec/features/admin/configuration/zones_spec.rb +0 -41
- data/spec/features/admin/homepage_spec.rb +0 -86
- data/spec/features/admin/javascript_format_money_spec.rb +0 -22
- data/spec/features/admin/locale_spec.rb +0 -34
- data/spec/features/admin/orders/adjustments_promotions_spec.rb +0 -55
- data/spec/features/admin/orders/adjustments_spec.rb +0 -130
- data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +0 -45
- data/spec/features/admin/orders/cancelling_inventory_spec.rb +0 -50
- data/spec/features/admin/orders/customer_details_spec.rb +0 -203
- data/spec/features/admin/orders/customer_returns_spec.rb +0 -41
- data/spec/features/admin/orders/line_items_spec.rb +0 -52
- data/spec/features/admin/orders/listing_spec.rb +0 -186
- data/spec/features/admin/orders/log_entries_spec.rb +0 -56
- data/spec/features/admin/orders/new_order_spec.rb +0 -379
- data/spec/features/admin/orders/new_refund_spec.rb +0 -35
- data/spec/features/admin/orders/order_details_spec.rb +0 -591
- data/spec/features/admin/orders/payments_spec.rb +0 -330
- data/spec/features/admin/orders/return_authorizations_spec.rb +0 -56
- data/spec/features/admin/orders/return_payment_state_spec.rb +0 -65
- data/spec/features/admin/orders/risk_analysis_spec.rb +0 -49
- data/spec/features/admin/orders/shipments_spec.rb +0 -145
- data/spec/features/admin/payments/store_credits_spec.rb +0 -23
- data/spec/features/admin/products/edit/images_spec.rb +0 -76
- data/spec/features/admin/products/edit/products_spec.rb +0 -92
- data/spec/features/admin/products/edit/taxons_spec.rb +0 -57
- data/spec/features/admin/products/edit/variants_spec.rb +0 -63
- data/spec/features/admin/products/option_types_spec.rb +0 -116
- data/spec/features/admin/products/pricing_spec.rb +0 -127
- data/spec/features/admin/products/products_spec.rb +0 -348
- data/spec/features/admin/products/properties_spec.rb +0 -141
- data/spec/features/admin/products/stock_management_spec.rb +0 -101
- data/spec/features/admin/products/variant_spec.rb +0 -89
- data/spec/features/admin/promotion_adjustments_spec.rb +0 -286
- data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -90
- data/spec/features/admin/promotions/product_rule_spec.rb +0 -35
- data/spec/features/admin/promotions/promotion_categories_spec.rb +0 -83
- data/spec/features/admin/promotions/promotion_code_batches_spec.rb +0 -37
- data/spec/features/admin/promotions/promotion_code_spec.rb +0 -31
- data/spec/features/admin/promotions/promotion_spec.rb +0 -52
- data/spec/features/admin/promotions/tiered_calculator_spec.rb +0 -76
- data/spec/features/admin/promotions/user_rule_spec.rb +0 -42
- data/spec/features/admin/reimbursements_spec.rb +0 -18
- data/spec/features/admin/store_credits_spec.rb +0 -132
- data/spec/features/admin/stores_spec.rb +0 -37
- data/spec/features/admin/style_guide_spec.rb +0 -14
- data/spec/features/admin/taxons_spec.rb +0 -90
- data/spec/features/admin/users_spec.rb +0 -412
- data/spec/fixtures/files/ror_ringer.jpeg +0 -0
- data/spec/helpers/admin/base_helper_spec.rb +0 -49
- data/spec/helpers/admin/navigation_helper_spec.rb +0 -139
- data/spec/helpers/admin/stock_movements_helper_spec.rb +0 -29
- data/spec/helpers/admin/store_credit_events_helper_spec.rb +0 -97
- data/spec/helpers/promotion_rules_helper_spec.rb +0 -14
- data/spec/javascripts/fixtures/_boot.html.erb +0 -8
- data/spec/javascripts/fixtures/number_with_currency/with_currency_select.html.erb +0 -3
- data/spec/javascripts/fixtures/number_with_currency/without_select.html.erb +0 -3
- data/spec/javascripts/format_money_spec.js +0 -48
- data/spec/javascripts/spec_helper.js +0 -13
- data/spec/javascripts/support/show_errors.js +0 -8
- data/spec/javascripts/support/with_translations.js +0 -11
- data/spec/javascripts/translation_spec.js +0 -58
- data/spec/javascripts/views/number_with_currency_spec.js +0 -72
- data/spec/lib/spree/backend_configuration/menu_item_spec.rb +0 -17
- data/spec/lib/spree/backend_configuration_spec.rb +0 -22
- data/spec/spec_helper.rb +0 -123
- data/spec/support/appear_before_matcher.rb +0 -10
- data/spec/support/feature/base_feature_helper.rb +0 -17
- data/spec/support/feature/order_feature_helper.rb +0 -27
- data/spec/teaspoon_env.rb +0 -51
- data/spec/test_views/spree/admin/widgets/edit.html.erb +0 -1
- data/spec/test_views/spree/admin/widgets/new.html.erb +0 -1
- data/spec/views/spree/admin/shared/navigation_footer_spec.rb +0 -67
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
module Spree
|
|
6
|
-
module Admin
|
|
7
|
-
describe VariantsController, type: :controller do
|
|
8
|
-
stub_authorization!
|
|
9
|
-
|
|
10
|
-
describe "#index" do
|
|
11
|
-
let(:product) { create(:product) }
|
|
12
|
-
let(:params) { { product_id: product.slug } }
|
|
13
|
-
|
|
14
|
-
subject { get :index, params: params }
|
|
15
|
-
|
|
16
|
-
context "the value of @parent" do
|
|
17
|
-
it "is the product" do
|
|
18
|
-
subject
|
|
19
|
-
expect(assigns(:parent)).to eq product
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
context "with a deleted product" do
|
|
23
|
-
before { product.discard }
|
|
24
|
-
|
|
25
|
-
it "is the product" do
|
|
26
|
-
subject
|
|
27
|
-
expect(assigns(:parent)).to eq product
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
context "the value of @collection" do
|
|
33
|
-
let!(:variant) { create(:variant, product: product) }
|
|
34
|
-
let!(:deleted_variant) { create(:variant, product: product) }
|
|
35
|
-
|
|
36
|
-
context "with soft-deleted variants" do
|
|
37
|
-
before { deleted_variant.discard }
|
|
38
|
-
|
|
39
|
-
context "when deleted is not requested" do
|
|
40
|
-
it "excludes deleted variants" do
|
|
41
|
-
subject
|
|
42
|
-
expect(assigns(:collection)).to include variant
|
|
43
|
-
expect(assigns(:collection)).not_to include deleted_variant
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
context "when deleted is requested" do
|
|
48
|
-
let(:params) { { product_id: product.slug, deleted: "on" } }
|
|
49
|
-
|
|
50
|
-
it "includes deleted variants" do
|
|
51
|
-
subject
|
|
52
|
-
expect(assigns(:collection)).to include variant
|
|
53
|
-
expect(assigns(:collection)).to include deleted_variant
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
describe "#delete" do
|
|
61
|
-
let!(:variant) { create(:variant) }
|
|
62
|
-
let(:product) { variant.product }
|
|
63
|
-
|
|
64
|
-
it "can be deleted" do
|
|
65
|
-
delete :destroy, params: { product_id: product.to_param, id: variant.to_param }
|
|
66
|
-
expect(variant.reload).to be_discarded
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
end
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
describe "Payment Methods", type: :feature do
|
|
6
|
-
stub_authorization!
|
|
7
|
-
|
|
8
|
-
before(:each) do
|
|
9
|
-
visit spree.admin_path
|
|
10
|
-
click_link "Settings"
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
context "admin visiting payment methods listing page" do
|
|
14
|
-
before do
|
|
15
|
-
create(:check_payment_method)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "should display existing payment methods" do
|
|
19
|
-
click_link "Payments"
|
|
20
|
-
expect(page).to have_link 'Payment Methods'
|
|
21
|
-
within("table#listing_payment_methods") do
|
|
22
|
-
expect(all("th")[1].text).to eq("Name")
|
|
23
|
-
expect(all("th")[2].text).to eq("Type")
|
|
24
|
-
expect(all("th")[3].text).to eq("Available to Users")
|
|
25
|
-
expect(all("th")[4].text).to eq("Available to Admin")
|
|
26
|
-
expect(all("th")[5].text).to eq("State")
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
within('table#listing_payment_methods') do
|
|
30
|
-
expect(page).to have_content(Spree::PaymentMethod::Check.model_name.human)
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
context "admin creating a new payment method", :js do
|
|
36
|
-
it "creates a new payment method and disables the form" do
|
|
37
|
-
click_link "Payments"
|
|
38
|
-
expect(page).to have_link 'Payment Methods'
|
|
39
|
-
click_link "admin_new_payment_methods_link"
|
|
40
|
-
expect(page).to have_content("New Payment Method")
|
|
41
|
-
fill_in "payment_method_name", with: "check90"
|
|
42
|
-
fill_in "payment_method_description", with: "check90 desc"
|
|
43
|
-
select Spree::PaymentMethod::Check.model_name.human, from: "Type"
|
|
44
|
-
click_button "Create"
|
|
45
|
-
expect(page).to have_content("successfully created!")
|
|
46
|
-
|
|
47
|
-
visit spree.new_admin_payment_method_path
|
|
48
|
-
page.execute_script "$('form').submit(function(e) { e.preventDefault()})"
|
|
49
|
-
fill_in "payment_method_name", with: "check90"
|
|
50
|
-
fill_in "payment_method_description", with: "check90 desc"
|
|
51
|
-
select Spree::PaymentMethod::Check.model_name.human, from: "Type"
|
|
52
|
-
click_button "Create"
|
|
53
|
-
|
|
54
|
-
expect(page).to have_button("Create", disabled: true)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
context "admin editing a payment method" do
|
|
59
|
-
let!(:payment_method) { create(:check_payment_method) }
|
|
60
|
-
|
|
61
|
-
before do
|
|
62
|
-
click_link "Payments"
|
|
63
|
-
expect(page).to have_link 'Payment Methods'
|
|
64
|
-
within("table#listing_payment_methods") do
|
|
65
|
-
click_icon(:edit)
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it "should be able to edit an existing payment method" do
|
|
70
|
-
fill_in "payment_method_name", with: "Payment 99"
|
|
71
|
-
click_button "Update"
|
|
72
|
-
expect(page).to have_content("successfully updated!")
|
|
73
|
-
expect(page).to have_field("payment_method_name", with: "Payment 99")
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
context "with multiple stores available" do
|
|
77
|
-
before do
|
|
78
|
-
create(:store, name: "Default Store", url: "spreestore.example.com")
|
|
79
|
-
visit current_path
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should be able to change the associated stores" do
|
|
83
|
-
select "Default Store", from: "Stores"
|
|
84
|
-
click_button "Update"
|
|
85
|
-
expect(page).to have_content("successfully updated!")
|
|
86
|
-
expect(page).to have_select("payment_method_store_ids", selected: "Default Store")
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
it "should display validation errors" do
|
|
91
|
-
fill_in "payment_method_name", with: ""
|
|
92
|
-
click_button "Update"
|
|
93
|
-
expect(page).to have_content("Name can't be blank")
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
context 'with payment method having hash and array as preference' do
|
|
97
|
-
class ComplexPayments < Spree::PaymentMethod
|
|
98
|
-
preference :name, :string
|
|
99
|
-
preference :mapping, :hash
|
|
100
|
-
preference :recipients, :array
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
let!(:payment_method) { ComplexPayments.create!(name: 'Complex Payments') }
|
|
104
|
-
|
|
105
|
-
it "does not display preference fields that are hash or array" do
|
|
106
|
-
expect(page).to have_field("Name")
|
|
107
|
-
expect(page).to_not have_field("Mapping")
|
|
108
|
-
expect(page).to_not have_field("Recipients")
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
context "changing type and payment_source", js: true do
|
|
114
|
-
before do
|
|
115
|
-
create(:credit_card_payment_method)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
it "displays message when changing type" do
|
|
119
|
-
click_link "Payments"
|
|
120
|
-
expect(page).to have_link 'Payment Methods'
|
|
121
|
-
click_icon :edit
|
|
122
|
-
expect(page).to have_content('Test Mode')
|
|
123
|
-
|
|
124
|
-
select Spree::PaymentMethod::Check.model_name.human, from: 'Type'
|
|
125
|
-
expect(page).to have_content('you must save first')
|
|
126
|
-
expect(page).to have_no_content('Test Mode')
|
|
127
|
-
|
|
128
|
-
# change back
|
|
129
|
-
select Spree::PaymentMethod::BogusCreditCard.model_name.human, from: 'Type'
|
|
130
|
-
expect(page).to have_no_content('you must save first')
|
|
131
|
-
expect(page).to have_content('Test Mode')
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
it "displays message when changing preference source" do
|
|
135
|
-
Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', {})
|
|
136
|
-
|
|
137
|
-
click_link "Payments"
|
|
138
|
-
expect(page).to have_link 'Payment Methods'
|
|
139
|
-
click_icon :edit
|
|
140
|
-
expect(page).to have_content('Test Mode')
|
|
141
|
-
|
|
142
|
-
select 'my_prefs', from: 'Preference Source'
|
|
143
|
-
expect(page).to have_content('you must save first')
|
|
144
|
-
expect(page).to have_no_content('Test Mode')
|
|
145
|
-
|
|
146
|
-
# change back
|
|
147
|
-
select '(custom)', from: 'Preference Source'
|
|
148
|
-
expect(page).to have_no_content('you must save first')
|
|
149
|
-
expect(page).to have_content('Test Mode')
|
|
150
|
-
end
|
|
151
|
-
|
|
152
|
-
it "updates successfully and keeps secrets" do
|
|
153
|
-
Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', { server: 'secret' })
|
|
154
|
-
|
|
155
|
-
click_link "Payments"
|
|
156
|
-
expect(page).to have_link 'Payment Methods'
|
|
157
|
-
click_icon :edit
|
|
158
|
-
|
|
159
|
-
select 'my_prefs', from: 'Preference Source'
|
|
160
|
-
click_on 'Update'
|
|
161
|
-
expect(page).to have_content('Using static preferences')
|
|
162
|
-
expect(page).to have_no_content('secret')
|
|
163
|
-
|
|
164
|
-
# change back
|
|
165
|
-
select '(custom)', from: 'Preference Source'
|
|
166
|
-
click_on 'Update'
|
|
167
|
-
expect(page).to have_content('Test Mode')
|
|
168
|
-
expect(page).to have_no_content('secret')
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
after do
|
|
172
|
-
# cleanup
|
|
173
|
-
Spree::Config.static_model_preferences.for_class(Spree::PaymentMethod::BogusCreditCard).clear
|
|
174
|
-
end
|
|
175
|
-
end
|
|
176
|
-
end
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
describe "Shipping Methods", type: :feature do
|
|
6
|
-
stub_authorization!
|
|
7
|
-
let!(:zone) { create(:global_zone) }
|
|
8
|
-
let!(:shipping_method) { create(:shipping_method, zones: [zone]) }
|
|
9
|
-
|
|
10
|
-
before do
|
|
11
|
-
visit spree.admin_path
|
|
12
|
-
click_link "Settings"
|
|
13
|
-
click_link "Shipping"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
context "show" do
|
|
17
|
-
it "should display existing shipping methods" do
|
|
18
|
-
within_row(1) do
|
|
19
|
-
expect(column_text(1)).to eq(shipping_method.name)
|
|
20
|
-
expect(column_text(2)).to eq(zone.name)
|
|
21
|
-
expect(column_text(3)).to eq("Flat Rate")
|
|
22
|
-
expect(column_text(4)).to eq("Yes")
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
context "create", js: true do
|
|
28
|
-
it "creates a new shipping method and disables the submit button", :js do
|
|
29
|
-
click_link "New Shipping Method"
|
|
30
|
-
|
|
31
|
-
fill_in "shipping_method_name", with: "bullock cart"
|
|
32
|
-
|
|
33
|
-
within("#shipping_method_categories_field") do
|
|
34
|
-
check first("input[type='checkbox']")["name"]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
click_on "Create"
|
|
38
|
-
expect(current_path).to eql(spree.edit_admin_shipping_method_path(Spree::ShippingMethod.last))
|
|
39
|
-
|
|
40
|
-
visit spree.new_admin_shipping_method_path
|
|
41
|
-
page.execute_script "$('form').submit(function(e) { e.preventDefault()})"
|
|
42
|
-
fill_in "shipping_method_name", with: "bullock cart"
|
|
43
|
-
|
|
44
|
-
within("#shipping_method_categories_field") do
|
|
45
|
-
check first("input[type='checkbox']")["name"]
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
click_on "Create"
|
|
49
|
-
|
|
50
|
-
expect(page).to have_button("Create", disabled: true)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
context 'with shipping method having a calculator with array or hash preference type' do
|
|
54
|
-
before do
|
|
55
|
-
class ComplexShipments < Spree::ShippingCalculator
|
|
56
|
-
preference :amount, :decimal
|
|
57
|
-
preference :currency, :string
|
|
58
|
-
preference :mapping, :hash
|
|
59
|
-
preference :list, :array
|
|
60
|
-
|
|
61
|
-
def self.description
|
|
62
|
-
"Complex Shipments"
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
@calculators = Rails.application.config.spree.calculators.shipping_methods
|
|
66
|
-
Rails.application.config.spree.calculators.shipping_methods = [ComplexShipments]
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
after do
|
|
70
|
-
Rails.application.config.spree.calculators.shipping_methods = @calculators
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
it "does not show array and hash form fields" do
|
|
74
|
-
click_link "New Shipping Method"
|
|
75
|
-
|
|
76
|
-
fill_in "shipping_method_name", with: "bullock cart"
|
|
77
|
-
|
|
78
|
-
within("#shipping_method_categories_field") do
|
|
79
|
-
check first("input[type='checkbox']")["name"]
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
click_on "Create"
|
|
83
|
-
select 'Complex Shipments', from: 'Base Calculator'
|
|
84
|
-
click_on "Update"
|
|
85
|
-
|
|
86
|
-
expect(page).to have_field('Amount')
|
|
87
|
-
expect(page).to have_field('Currency')
|
|
88
|
-
expect(page).to_not have_field('Mapping')
|
|
89
|
-
expect(page).to_not have_field('List')
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
# Regression test for https://github.com/spree/spree/issues/1331
|
|
95
|
-
context "update" do
|
|
96
|
-
it "can update the existing calculator", js: true do
|
|
97
|
-
within("#listing_shipping_methods") do
|
|
98
|
-
click_icon :edit
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
fill_in 'Amount', with: 20
|
|
102
|
-
|
|
103
|
-
click_button "Update"
|
|
104
|
-
|
|
105
|
-
expect(page).to have_content 'successfully updated'
|
|
106
|
-
expect(page).to have_field 'Amount', with: '20.0'
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it "can change the calculator", js: true do
|
|
110
|
-
within("#listing_shipping_methods") do
|
|
111
|
-
click_icon :edit
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
select 'Flexible Rate per Package Item', from: 'Base Calculator'
|
|
115
|
-
|
|
116
|
-
fill_in 'First Item', with: 10
|
|
117
|
-
fill_in 'Additional Item', with: 20
|
|
118
|
-
|
|
119
|
-
click_button "Update"
|
|
120
|
-
|
|
121
|
-
expect(page).to have_content 'successfully updated'
|
|
122
|
-
expect(page).to have_field 'First Item', with: '10.0'
|
|
123
|
-
expect(page).to have_field 'Additional Item', with: '20.0'
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
end
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
describe "Stock Locations", type: :feature do
|
|
6
|
-
stub_authorization!
|
|
7
|
-
|
|
8
|
-
before(:each) do
|
|
9
|
-
create(:country)
|
|
10
|
-
visit spree.admin_path
|
|
11
|
-
click_link "Settings"
|
|
12
|
-
click_link "Shipping"
|
|
13
|
-
click_link "Stock Locations"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
it "can create a new stock location" do
|
|
17
|
-
click_link "New Stock Location"
|
|
18
|
-
fill_in "Name", with: "London"
|
|
19
|
-
check "Active"
|
|
20
|
-
click_button "Create"
|
|
21
|
-
|
|
22
|
-
expect(page).to have_content("successfully created")
|
|
23
|
-
expect(page).to have_content("London")
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "can delete an existing stock location", js: true do
|
|
27
|
-
create(:stock_location)
|
|
28
|
-
visit current_path
|
|
29
|
-
|
|
30
|
-
expect(find('#listing_stock_locations')).to have_content("NY Warehouse")
|
|
31
|
-
accept_alert do
|
|
32
|
-
click_icon :trash
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
expect(page).to have_content('Stock Location "NY Warehouse" has been successfully removed')
|
|
36
|
-
|
|
37
|
-
visit current_path
|
|
38
|
-
expect(page).to have_content("No Stock Locations found")
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "can update an existing stock location" do
|
|
42
|
-
create(:stock_location)
|
|
43
|
-
visit current_path
|
|
44
|
-
|
|
45
|
-
expect(page).to have_content("NY Warehouse")
|
|
46
|
-
|
|
47
|
-
click_icon :edit
|
|
48
|
-
fill_in "Name", with: "London"
|
|
49
|
-
click_button "Update"
|
|
50
|
-
|
|
51
|
-
expect(page).to have_content("successfully updated")
|
|
52
|
-
expect(page).to have_content("London")
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
describe "Store", type: :feature, js: true do
|
|
6
|
-
stub_authorization!
|
|
7
|
-
|
|
8
|
-
let!(:store) do
|
|
9
|
-
create(:store, name: 'Test Store', url: 'test.example.org',
|
|
10
|
-
mail_from_address: 'test@example.org')
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
let!(:vat_country) { create(:country, iso: "DE", name: "Germany") }
|
|
14
|
-
|
|
15
|
-
before(:each) do
|
|
16
|
-
visit spree.admin_path
|
|
17
|
-
click_link "Settings"
|
|
18
|
-
within('.admin-nav') do
|
|
19
|
-
click_link "Stores"
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context "visiting general store settings" do
|
|
24
|
-
it "should have the right content" do
|
|
25
|
-
expect(page).to have_field("store_name", with: "Test Store")
|
|
26
|
-
expect(page).to have_field("store_url", with: "test.example.org")
|
|
27
|
-
expect(page).to have_field("store_mail_from_address", with: "test@example.org")
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
context "editing general store settings" do
|
|
32
|
-
it "should be able to update the site name" do
|
|
33
|
-
fill_in "store_name", with: "Spree Demo Site99"
|
|
34
|
-
fill_in "store_mail_from_address", with: "spree@example.org"
|
|
35
|
-
click_button "Update"
|
|
36
|
-
|
|
37
|
-
expect(page).to have_content "successfully updated"
|
|
38
|
-
expect(page).to have_field("store_name", with: "Spree Demo Site99")
|
|
39
|
-
expect(page).to have_field("store_mail_from_address", with: "spree@example.org")
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it "should be able to update the default cart tax country" do
|
|
43
|
-
expect(page).to have_select('Tax Country for Empty Carts', selected: 'No taxes on carts without address')
|
|
44
|
-
|
|
45
|
-
select "Germany", from: "Tax Country for Empty Carts"
|
|
46
|
-
click_button "Update"
|
|
47
|
-
|
|
48
|
-
expect(page).to have_content("has been successfully updated")
|
|
49
|
-
expect(page).to have_select("Tax Country for Empty Carts", selected: "Germany")
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
context "update fails" do
|
|
54
|
-
it "should display the error" do
|
|
55
|
-
fill_in "Site Name", with: " "
|
|
56
|
-
click_button "Update"
|
|
57
|
-
|
|
58
|
-
expect(page).to have_content("can't be blank")
|
|
59
|
-
expect(page).to have_field("Site Name", with: " ")
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|