solidus_backend 1.3.2 → 1.4.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/README.md +38 -0
- data/app/assets/javascripts/spree/backend/components/tooltips.js +2 -0
- data/app/assets/javascripts/spree/backend/product_picker.js +2 -2
- data/app/assets/javascripts/spree/backend/routes.js +0 -1
- data/app/assets/javascripts/spree/backend/shipments.js +147 -118
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +16 -14
- data/app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs +1 -1
- data/app/assets/javascripts/spree/backend/templates/variants/autocomplete.hbs.erb +1 -1
- data/app/assets/javascripts/spree/backend/templates/variants/line_items_autocomplete_stock.hbs +1 -1
- data/app/assets/javascripts/spree/backend/templates/variants/split.hbs +25 -27
- data/app/assets/javascripts/spree/backend/user_picker.js +14 -8
- data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +3 -3
- data/app/assets/stylesheets/spree/backend/components/_breadcrumb.scss +4 -0
- data/app/assets/stylesheets/spree/backend/components/_date-picker.scss +0 -1
- data/app/assets/stylesheets/spree/backend/components/_hint.scss +3 -0
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +0 -1
- data/app/assets/stylesheets/spree/backend/components/_progress.scss +5 -2
- data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +14 -5
- data/app/assets/stylesheets/spree/backend/components/_states.scss +1 -2
- data/app/assets/stylesheets/spree/backend/globals/_mixins.css +2 -0
- data/app/assets/stylesheets/spree/backend/globals/mixins/_line_through.scss +22 -0
- data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +12 -3
- data/app/assets/stylesheets/spree/backend/sections/_products.scss +25 -7
- data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +0 -1
- data/app/assets/stylesheets/spree/backend/sections/_transfer_items.scss +0 -1
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +4 -6
- data/app/assets/stylesheets/spree/backend/shared/_header.scss +5 -2
- data/app/assets/stylesheets/spree/backend/shared/_layout.scss +36 -3
- data/app/assets/stylesheets/spree/backend/shared/_tables.scss +1 -3
- data/app/assets/stylesheets/spree/backend/shared/_typography.scss +0 -2
- data/app/assets/stylesheets/spree/backend/spree_admin.scss +3 -1
- data/app/controllers/spree/admin/cancellations_controller.rb +1 -1
- data/app/controllers/spree/admin/general_settings_controller.rb +0 -6
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +7 -0
- data/app/controllers/spree/admin/orders_controller.rb +1 -1
- data/app/controllers/spree/admin/payment_methods_controller.rb +8 -3
- data/app/controllers/spree/admin/payments_controller.rb +12 -5
- data/app/controllers/spree/admin/products_controller.rb +1 -1
- data/app/controllers/spree/admin/refunds_controller.rb +1 -1
- data/app/controllers/spree/admin/reimbursements_controller.rb +1 -1
- data/app/controllers/spree/admin/root_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_items_controller.rb +0 -8
- data/app/controllers/spree/admin/stock_transfers_controller.rb +6 -6
- data/app/controllers/spree/admin/users_controller.rb +7 -3
- data/app/helpers/spree/admin/base_helper.rb +11 -0
- data/app/helpers/spree/admin/navigation_helper.rb +46 -3
- data/app/helpers/spree/admin/orders_helper.rb +0 -1
- data/app/helpers/spree/admin/stock_locations_helper.rb +1 -5
- data/app/models/spree/backend_configuration.rb +100 -0
- data/app/views/spree/admin/adjustment_reasons/edit.html.erb +4 -7
- data/app/views/spree/admin/adjustment_reasons/index.html.erb +4 -4
- data/app/views/spree/admin/adjustment_reasons/new.html.erb +4 -4
- data/app/views/spree/admin/adjustments/edit.html.erb +4 -6
- data/app/views/spree/admin/adjustments/index.html.erb +3 -6
- data/app/views/spree/admin/adjustments/new.html.erb +5 -6
- data/app/views/spree/admin/cancellations/index.html.erb +4 -3
- data/app/views/spree/admin/countries/edit.html.erb +4 -6
- data/app/views/spree/admin/countries/index.html.erb +4 -4
- data/app/views/spree/admin/countries/new.html.erb +4 -4
- data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +1 -1
- data/app/views/spree/admin/customer_returns/edit.html.erb +4 -6
- data/app/views/spree/admin/customer_returns/index.html.erb +2 -5
- data/app/views/spree/admin/customer_returns/new.html.erb +5 -6
- data/app/views/spree/admin/general_settings/edit.html.erb +4 -28
- data/app/views/spree/admin/images/edit.html.erb +6 -2
- data/app/views/spree/admin/images/index.html.erb +3 -0
- data/app/views/spree/admin/images/new.html.erb +3 -3
- data/app/views/spree/admin/log_entries/index.html.erb +4 -8
- data/app/views/spree/admin/option_types/edit.html.erb +7 -9
- data/app/views/spree/admin/option_types/index.html.erb +4 -4
- data/app/views/spree/admin/orders/_shipment.html.erb +4 -1
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +4 -1
- data/app/views/spree/admin/orders/cart.html.erb +4 -8
- data/app/views/spree/admin/orders/confirm.html.erb +3 -4
- data/app/views/spree/admin/orders/confirm/_payments.html.erb +1 -1
- data/app/views/spree/admin/orders/confirm_advance.html.erb +3 -4
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +2 -4
- data/app/views/spree/admin/orders/customer_details/show.html.erb +3 -5
- data/app/views/spree/admin/orders/edit.html.erb +1 -8
- data/app/views/spree/admin/orders/index.html.erb +11 -5
- data/app/views/spree/admin/payment_methods/edit.html.erb +5 -7
- data/app/views/spree/admin/payment_methods/index.html.erb +6 -5
- data/app/views/spree/admin/payment_methods/new.html.erb +6 -7
- data/app/views/spree/admin/payments/_capture_events.html.erb +1 -1
- data/app/views/spree/admin/payments/credit.html.erb +3 -3
- data/app/views/spree/admin/payments/index.html.erb +4 -7
- data/app/views/spree/admin/payments/new.html.erb +4 -5
- data/app/views/spree/admin/payments/show.html.erb +4 -7
- data/app/views/spree/admin/prices/_form.html.erb +1 -0
- data/app/views/spree/admin/prices/index.html.erb +2 -2
- data/app/views/spree/admin/product_properties/index.html.erb +3 -1
- data/app/views/spree/admin/products/_form.html.erb +11 -18
- data/app/views/spree/admin/products/_properties_form.erb +1 -1
- data/app/views/spree/admin/products/edit.html.erb +3 -2
- data/app/views/spree/admin/products/index.html.erb +19 -28
- data/app/views/spree/admin/products/new.html.erb +4 -2
- data/app/views/spree/admin/promotion_categories/edit.html.erb +4 -3
- data/app/views/spree/admin/promotion_categories/index.html.erb +4 -4
- data/app/views/spree/admin/promotion_categories/new.html.erb +4 -3
- data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +3 -3
- data/app/views/spree/admin/promotions/_rules.html.erb +2 -2
- data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +1 -1
- data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +1 -1
- data/app/views/spree/admin/promotions/edit.html.erb +4 -5
- data/app/views/spree/admin/promotions/index.html.erb +3 -5
- data/app/views/spree/admin/promotions/new.html.erb +3 -3
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +2 -2
- data/app/views/spree/admin/properties/edit.html.erb +3 -6
- data/app/views/spree/admin/properties/index.html.erb +5 -5
- data/app/views/spree/admin/prototypes/_form.html.erb +3 -3
- data/app/views/spree/admin/prototypes/_prototypes.html.erb +1 -1
- data/app/views/spree/admin/prototypes/edit.html.erb +3 -6
- data/app/views/spree/admin/prototypes/index.html.erb +4 -4
- data/app/views/spree/admin/prototypes/show.html.erb +2 -2
- data/app/views/spree/admin/refund_reasons/edit.html.erb +4 -4
- data/app/views/spree/admin/refund_reasons/index.html.erb +5 -4
- data/app/views/spree/admin/refund_reasons/new.html.erb +5 -4
- data/app/views/spree/admin/refunds/edit.html.erb +5 -6
- data/app/views/spree/admin/refunds/new.html.erb +6 -6
- data/app/views/spree/admin/reimbursement_types/index.html.erb +4 -3
- data/app/views/spree/admin/reimbursements/edit.html.erb +5 -6
- data/app/views/spree/admin/reimbursements/index.html.erb +2 -4
- data/app/views/spree/admin/reimbursements/show.html.erb +3 -4
- data/app/views/spree/admin/reports/index.html.erb +2 -3
- data/app/views/spree/admin/reports/sales_total.html.erb +2 -4
- data/app/views/spree/admin/return_authorizations/edit.html.erb +15 -16
- data/app/views/spree/admin/return_authorizations/index.html.erb +3 -5
- data/app/views/spree/admin/return_authorizations/new.html.erb +5 -6
- data/app/views/spree/admin/return_reasons/edit.html.erb +3 -2
- data/app/views/spree/admin/return_reasons/index.html.erb +3 -1
- data/app/views/spree/admin/return_reasons/new.html.erb +4 -2
- data/app/views/spree/admin/shared/_areas_tabs.html.erb +3 -3
- data/app/views/spree/admin/shared/_configuration_menu.html.erb +2 -2
- data/app/views/spree/admin/shared/_edit_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_head.html.erb +1 -8
- data/app/views/spree/admin/shared/_header.html.erb +8 -12
- data/app/views/spree/admin/shared/_new_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_no_objects_found.html.erb +1 -1
- data/app/views/spree/admin/shared/_order_submenu.html.erb +10 -10
- data/app/views/spree/admin/shared/_order_summary.html.erb +1 -1
- data/app/views/spree/admin/shared/_order_tabs.html.erb +3 -3
- data/app/views/spree/admin/shared/_payments_tabs.html.erb +1 -1
- data/app/views/spree/admin/shared/_product_sub_menu.html.erb +2 -2
- data/app/views/spree/admin/shared/_product_tabs.html.erb +8 -9
- data/app/views/spree/admin/shared/_report_criteria.html.erb +2 -2
- data/app/views/spree/admin/shared/_report_order_criteria.html.erb +2 -2
- data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +4 -4
- data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +5 -5
- data/app/views/spree/admin/shared/_shipping_tabs.html.erb +4 -3
- data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
- data/app/views/spree/admin/shared/_tabs.html.erb +12 -37
- data/app/views/spree/admin/shared/_taxes_tabs.html.erb +2 -2
- data/app/views/spree/admin/shared/_variant_search.html.erb +1 -1
- data/app/views/spree/admin/shared/named_types/_edit.html.erb +5 -5
- data/app/views/spree/admin/shared/named_types/_index.html.erb +5 -4
- data/app/views/spree/admin/shared/named_types/_new.html.erb +5 -4
- data/app/views/spree/admin/shipping_categories/edit.html.erb +5 -6
- data/app/views/spree/admin/shipping_categories/index.html.erb +5 -4
- data/app/views/spree/admin/shipping_categories/new.html.erb +5 -6
- data/app/views/spree/admin/shipping_methods/_form.html.erb +2 -2
- data/app/views/spree/admin/shipping_methods/edit.html.erb +5 -6
- data/app/views/spree/admin/shipping_methods/index.html.erb +5 -5
- data/app/views/spree/admin/shipping_methods/new.html.erb +5 -6
- data/app/views/spree/admin/states/edit.html.erb +5 -6
- data/app/views/spree/admin/states/index.html.erb +5 -4
- data/app/views/spree/admin/states/new.html.erb +5 -3
- data/app/views/spree/admin/stock_items/index.html.erb +4 -7
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/edit.html.erb +5 -5
- data/app/views/spree/admin/stock_locations/index.html.erb +16 -9
- data/app/views/spree/admin/stock_locations/new.html.erb +5 -4
- data/app/views/spree/admin/stock_movements/index.html.erb +3 -4
- data/app/views/spree/admin/stock_movements/new.html.erb +2 -3
- data/app/views/spree/admin/stock_transfers/_location.html.erb +7 -0
- data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +1 -1
- data/app/views/spree/admin/stock_transfers/edit.html.erb +5 -6
- data/app/views/spree/admin/stock_transfers/index.html.erb +5 -5
- data/app/views/spree/admin/stock_transfers/new.html.erb +6 -8
- data/app/views/spree/admin/stock_transfers/receive.html.erb +4 -12
- data/app/views/spree/admin/stock_transfers/show.html.erb +6 -12
- data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +5 -13
- data/app/views/spree/admin/store_credits/edit_amount.html.erb +6 -4
- data/app/views/spree/admin/store_credits/edit_validity.html.erb +8 -6
- data/app/views/spree/admin/store_credits/index.html.erb +5 -5
- data/app/views/spree/admin/store_credits/new.html.erb +5 -4
- data/app/views/spree/admin/store_credits/show.html.erb +5 -4
- data/app/views/spree/admin/style_guide/topics/typography/_icons.html.erb +2 -2
- data/app/views/spree/admin/tax_categories/edit.html.erb +5 -4
- data/app/views/spree/admin/tax_categories/index.html.erb +5 -4
- data/app/views/spree/admin/tax_categories/new.html.erb +5 -4
- data/app/views/spree/admin/tax_rates/edit.html.erb +5 -6
- data/app/views/spree/admin/tax_rates/index.html.erb +5 -4
- data/app/views/spree/admin/tax_rates/new.html.erb +5 -6
- data/app/views/spree/admin/taxonomies/edit.erb +7 -9
- data/app/views/spree/admin/taxonomies/index.html.erb +4 -4
- data/app/views/spree/admin/taxonomies/new.html.erb +5 -7
- data/app/views/spree/admin/taxons/edit.html.erb +5 -6
- data/app/views/spree/admin/taxons/index.html.erb +2 -3
- data/app/views/spree/admin/trackers/edit.html.erb +5 -6
- data/app/views/spree/admin/trackers/index.html.erb +4 -4
- data/app/views/spree/admin/trackers/new.html.erb +4 -6
- data/app/views/spree/admin/users/_form.html.erb +2 -2
- data/app/views/spree/admin/users/_tabs.html.erb +5 -5
- data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -4
- data/app/views/spree/admin/users/addresses.html.erb +5 -4
- data/app/views/spree/admin/users/edit.html.erb +6 -6
- data/app/views/spree/admin/users/index.html.erb +4 -5
- data/app/views/spree/admin/users/items.html.erb +4 -3
- data/app/views/spree/admin/users/new.html.erb +2 -9
- data/app/views/spree/admin/users/orders.html.erb +4 -3
- data/app/views/spree/admin/variants/_form.html.erb +1 -0
- data/app/views/spree/admin/variants/edit.html.erb +4 -3
- data/app/views/spree/admin/variants/index.html.erb +10 -8
- data/app/views/spree/admin/variants/new.html.erb +5 -0
- data/app/views/spree/admin/zones/_country_members.html.erb +2 -2
- data/app/views/spree/admin/zones/_state_members.html.erb +2 -2
- data/app/views/spree/admin/zones/edit.html.erb +5 -6
- data/app/views/spree/admin/zones/index.html.erb +5 -4
- data/app/views/spree/admin/zones/new.html.erb +6 -7
- data/app/views/spree/layouts/admin.html.erb +28 -15
- data/config/initializers/form_builder.rb +6 -0
- data/config/routes.rb +2 -6
- data/spec/controllers/spree/admin/cancellations_controller_spec.rb +3 -3
- data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +4 -4
- data/spec/controllers/spree/admin/missing_products_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +5 -5
- data/spec/controllers/spree/admin/orders_controller_spec.rb +28 -28
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +5 -5
- data/spec/controllers/spree/admin/payments_controller_spec.rb +7 -7
- data/spec/controllers/spree/admin/prices_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/product_properties_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/products_controller_spec.rb +6 -6
- data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/promotions_controller_spec.rb +7 -7
- data/spec/controllers/spree/admin/refunds_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +5 -5
- data/spec/controllers/spree/admin/reports_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/resource_controller_spec.rb +6 -6
- data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +11 -11
- data/spec/controllers/spree/admin/return_items_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/search_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/stock_items_controller_spec.rb +3 -3
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +3 -3
- data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +10 -10
- data/spec/controllers/spree/admin/store_credits_controller_spec.rb +10 -10
- data/spec/controllers/spree/admin/users_controller_spec.rb +139 -141
- data/spec/controllers/spree/admin/variants_controller_spec.rb +2 -2
- data/spec/features/admin/configuration/general_settings_spec.rb +7 -16
- data/spec/features/admin/configuration/payment_methods_spec.rb +7 -7
- data/spec/features/admin/configuration/stock_locations_spec.rb +1 -1
- data/spec/features/admin/configuration/tax_categories_spec.rb +1 -1
- data/spec/features/admin/configuration/zones_spec.rb +1 -1
- data/spec/features/admin/homepage_spec.rb +2 -2
- data/spec/features/admin/orders/adjustments_spec.rb +1 -1
- data/spec/features/admin/orders/cancelling_inventory_spec.rb +8 -8
- data/spec/features/admin/orders/customer_details_spec.rb +20 -5
- data/spec/features/admin/orders/listing_spec.rb +97 -70
- data/spec/features/admin/orders/new_order_spec.rb +35 -6
- data/spec/features/admin/orders/order_details_spec.rb +37 -58
- data/spec/features/admin/orders/payments_spec.rb +57 -4
- data/spec/features/admin/orders/return_authorizations_spec.rb +25 -0
- data/spec/features/admin/orders/shipments_spec.rb +5 -5
- data/spec/features/admin/products/edit/products_spec.rb +1 -1
- data/spec/features/admin/products/edit/taxons_spec.rb +5 -5
- data/spec/features/admin/products/edit/variants_spec.rb +1 -1
- data/spec/features/admin/products/option_types_spec.rb +2 -2
- data/spec/features/admin/products/products_spec.rb +6 -6
- data/spec/features/admin/products/properties_spec.rb +6 -6
- data/spec/features/admin/products/prototypes_spec.rb +1 -1
- data/spec/features/admin/products/stock_management_spec.rb +5 -5
- data/spec/features/admin/promotion_adjustments_spec.rb +8 -8
- data/spec/features/admin/promotions/option_value_rule_spec.rb +4 -4
- data/spec/features/admin/promotions/product_rule_spec.rb +33 -0
- data/spec/features/admin/promotions/tiered_calculator_spec.rb +2 -2
- data/spec/features/admin/promotions/user_rule_spec.rb +15 -0
- data/spec/features/admin/reports_spec.rb +1 -1
- data/spec/features/admin/users_spec.rb +27 -2
- data/spec/helpers/admin/base_helper_spec.rb +30 -0
- data/spec/helpers/admin/navigation_helper_spec.rb +40 -2
- data/spec/spec_helper.rb +10 -8
- data/spec/support/feature/order_feature_helper.rb +17 -0
- metadata +18 -11
- data/app/assets/javascripts/spree/backend/general_settings.js.coffee +0 -13
- data/spec/controllers/spree/admin/general_settings_controller_spec.rb +0 -41
@@ -2,6 +2,8 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe "Order Details", type: :feature, js: true do
|
5
|
+
include OrderFeatureHelper
|
6
|
+
|
5
7
|
let!(:stock_location) { create(:stock_location_with_items) }
|
6
8
|
let!(:product) { create(:product, name: 'spree t-shirt', price: 20.00) }
|
7
9
|
let!(:tote) { create(:product, name: "Tote", price: 15.00) }
|
@@ -11,8 +13,12 @@ describe "Order Details", type: :feature, js: true do
|
|
11
13
|
let!(:shipping_method) { create(:shipping_method, name: "Default") }
|
12
14
|
|
13
15
|
before do
|
14
|
-
order.shipments.create(stock_location_id: stock_location.id)
|
16
|
+
@shipment1 = order.shipments.create(stock_location_id: stock_location.id)
|
15
17
|
order.contents.add(product.master, 2)
|
18
|
+
# order.contents.add causes things (like line items & shipments) to get
|
19
|
+
# cached, and these are going to change during this spec so we go ahead and
|
20
|
+
# reload now
|
21
|
+
order.reload
|
16
22
|
end
|
17
23
|
|
18
24
|
context 'as Admin' do
|
@@ -45,7 +51,7 @@ describe "Order Details", type: :feature, js: true do
|
|
45
51
|
fill_in "quantity_0", with: 2
|
46
52
|
end
|
47
53
|
|
48
|
-
|
54
|
+
click_button "Add"
|
49
55
|
|
50
56
|
within("#order_total") do
|
51
57
|
expect(page).to have_content("$80.00")
|
@@ -61,7 +67,7 @@ describe "Order Details", type: :feature, js: true do
|
|
61
67
|
end
|
62
68
|
end
|
63
69
|
|
64
|
-
expect(page).to have_content("
|
70
|
+
expect(page).to have_content("Your order is empty") # wait for page refresh
|
65
71
|
expect(page).not_to have_content("spree t-shirt")
|
66
72
|
end
|
67
73
|
|
@@ -133,7 +139,7 @@ describe "Order Details", type: :feature, js: true do
|
|
133
139
|
fill_in "variant_quantity", with: 1
|
134
140
|
end
|
135
141
|
|
136
|
-
|
142
|
+
click_button 'Add'
|
137
143
|
|
138
144
|
within(".line-items") do
|
139
145
|
expect(page).to have_content(tote.name)
|
@@ -152,7 +158,7 @@ describe "Order Details", type: :feature, js: true do
|
|
152
158
|
|
153
159
|
expect(page).to have_selector('.select2-no-results')
|
154
160
|
within(".select2-no-results") do
|
155
|
-
expect(page).to have_content("
|
161
|
+
expect(page).to have_content("No matches found")
|
156
162
|
end
|
157
163
|
end
|
158
164
|
end
|
@@ -179,8 +185,7 @@ describe "Order Details", type: :feature, js: true do
|
|
179
185
|
expect(order.shipments.first.inventory_units_for(product.master).count).to eq(2)
|
180
186
|
|
181
187
|
within_row(1) { click_icon 'arrows-h' }
|
182
|
-
|
183
|
-
click_icon :ok
|
188
|
+
complete_split_to(stock_location2)
|
184
189
|
|
185
190
|
expect(page).to have_css('.shipment', count: 2)
|
186
191
|
|
@@ -194,11 +199,9 @@ describe "Order Details", type: :feature, js: true do
|
|
194
199
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
195
200
|
|
196
201
|
within_row(1) { click_icon 'arrows-h' }
|
197
|
-
|
198
|
-
fill_in 'item_quantity', with: 2
|
199
|
-
click_icon :ok
|
202
|
+
complete_split_to(stock_location2, quantity: 2)
|
200
203
|
|
201
|
-
expect(page).to have_content("
|
204
|
+
expect(page).to have_content("pending package from 'Clarksville'")
|
202
205
|
|
203
206
|
expect(order.shipments.count).to eq(1)
|
204
207
|
expect(order.shipments.last.backordered?).to eq(false)
|
@@ -210,11 +213,9 @@ describe "Order Details", type: :feature, js: true do
|
|
210
213
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
211
214
|
|
212
215
|
within_row(1) { click_icon 'arrows-h' }
|
213
|
-
|
214
|
-
fill_in 'item_quantity', with: 5
|
215
|
-
click_icon :ok
|
216
|
+
complete_split_to(stock_location2, quantity: 5)
|
216
217
|
|
217
|
-
expect(page).to have_content("
|
218
|
+
expect(page).to have_content("pending package from 'Clarksville'")
|
218
219
|
|
219
220
|
expect(order.shipments.count).to eq(1)
|
220
221
|
expect(order.shipments.last.backordered?).to eq(false)
|
@@ -226,9 +227,7 @@ describe "Order Details", type: :feature, js: true do
|
|
226
227
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
227
228
|
|
228
229
|
within_row(1) { click_icon 'arrows-h' }
|
229
|
-
|
230
|
-
fill_in 'item_quantity', with: 'ff'
|
231
|
-
click_icon :ok
|
230
|
+
complete_split_to(stock_location2, quantity: 'ff')
|
232
231
|
|
233
232
|
wait_for_ajax
|
234
233
|
|
@@ -241,9 +240,7 @@ describe "Order Details", type: :feature, js: true do
|
|
241
240
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
242
241
|
|
243
242
|
within_row(1) { click_icon 'arrows-h' }
|
244
|
-
|
245
|
-
fill_in 'item_quantity', with: 0
|
246
|
-
click_icon :ok
|
243
|
+
complete_split_to(stock_location2, quantity: 0)
|
247
244
|
|
248
245
|
wait_for_ajax
|
249
246
|
|
@@ -283,9 +280,7 @@ describe "Order Details", type: :feature, js: true do
|
|
283
280
|
product.master.stock_items.last.update_column(:count_on_hand, 0)
|
284
281
|
|
285
282
|
within_row(1) { click_icon 'arrows-h' }
|
286
|
-
|
287
|
-
fill_in 'item_quantity', with: 2
|
288
|
-
click_icon :ok
|
283
|
+
complete_split_to(stock_location2, quantity: 2)
|
289
284
|
|
290
285
|
wait_for_ajax
|
291
286
|
|
@@ -301,11 +296,9 @@ describe "Order Details", type: :feature, js: true do
|
|
301
296
|
product.master.stock_items.last.update_column(:backorderable, true)
|
302
297
|
|
303
298
|
within_row(1) { click_icon 'arrows-h' }
|
304
|
-
|
305
|
-
fill_in 'item_quantity', with: 2
|
306
|
-
click_icon :ok
|
299
|
+
complete_split_to(stock_location2, quantity: 2)
|
307
300
|
|
308
|
-
expect(page).to have_content("
|
301
|
+
expect(page).to have_content("pending package from 'Clarksville'")
|
309
302
|
|
310
303
|
expect(order.shipments.count).to eq(1)
|
311
304
|
expect(order.shipments.first.inventory_units_for(product.master).count).to eq(2)
|
@@ -317,12 +310,13 @@ describe "Order Details", type: :feature, js: true do
|
|
317
310
|
context 'multiple items in cart' do
|
318
311
|
it 'should have no problem splitting if multiple items are in the from shipment' do
|
319
312
|
order.contents.add(create(:variant), 2)
|
313
|
+
order.reload
|
314
|
+
|
320
315
|
expect(order.shipments.count).to eq(1)
|
321
316
|
expect(order.shipments.first.manifest.count).to eq(2)
|
322
317
|
|
323
318
|
within_row(1) { click_icon 'arrows-h' }
|
324
|
-
|
325
|
-
click_icon :ok
|
319
|
+
complete_split_to(stock_location2)
|
326
320
|
|
327
321
|
expect(page).to have_css('.shipment', count: 2)
|
328
322
|
|
@@ -360,9 +354,7 @@ describe "Order Details", type: :feature, js: true do
|
|
360
354
|
expect(order.shipments.count).to eq(2)
|
361
355
|
|
362
356
|
within_row(1) { click_icon 'arrows-h' }
|
363
|
-
|
364
|
-
fill_in 'item_quantity', with: 2
|
365
|
-
click_icon :ok
|
357
|
+
complete_split_to(@shipment2, quantity: 2)
|
366
358
|
|
367
359
|
expect(page).not_to have_content(/Move .* to/)
|
368
360
|
|
@@ -380,17 +372,13 @@ describe "Order Details", type: :feature, js: true do
|
|
380
372
|
expect(page).to have_css('.item-name', text: product.name, count: 1)
|
381
373
|
|
382
374
|
within_row(1) { click_icon 'arrows-h' }
|
383
|
-
|
384
|
-
fill_in 'item_quantity', with: 1
|
385
|
-
click_icon :ok
|
375
|
+
complete_split_to(@shipment2, quantity: 1)
|
386
376
|
|
387
377
|
expect(page).to have_css('.item-name', text: product.name, count: 2)
|
388
378
|
|
389
379
|
within(all('.stock-contents', count: 2).first) do
|
390
380
|
within_row(1) { click_icon 'arrows-h' }
|
391
|
-
|
392
|
-
fill_in 'item_quantity', with: 200
|
393
|
-
click_icon :ok
|
381
|
+
complete_split_to(@shipment2, quantity: 200)
|
394
382
|
end
|
395
383
|
|
396
384
|
wait_for_ajax
|
@@ -402,25 +390,20 @@ describe "Order Details", type: :feature, js: true do
|
|
402
390
|
|
403
391
|
it 'should not allow a shipment to split stock to itself' do
|
404
392
|
within_row(1) { click_icon 'arrows-h' }
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
expect(order.shipments.count).to eq(2)
|
412
|
-
expect(order.shipments.first.inventory_units_for(product.master).count).to eq(2)
|
393
|
+
click_on 'Choose location'
|
394
|
+
within '.select2-results' do
|
395
|
+
expect(page).to have_content(@shipment2.number)
|
396
|
+
expect(page).not_to have_content(@shipment1.number)
|
397
|
+
end
|
413
398
|
end
|
414
399
|
|
415
400
|
it 'should split fine if more than one line_item is in the receiving shipment' do
|
416
401
|
variant2 = create(:variant)
|
417
402
|
order.contents.add(variant2, 2, shipment: @shipment2)
|
403
|
+
order.reload
|
418
404
|
|
419
405
|
within_row(1) { click_icon 'arrows-h' }
|
420
|
-
|
421
|
-
fill_in 'item_quantity', with: 1
|
422
|
-
|
423
|
-
click_icon :ok
|
406
|
+
complete_split_to(@shipment2, quantity: 1)
|
424
407
|
|
425
408
|
expect(page).not_to have_content(/Move .* to/)
|
426
409
|
expect(page).to have_css('.shipment', count: 2)
|
@@ -440,17 +423,13 @@ describe "Order Details", type: :feature, js: true do
|
|
440
423
|
expect(@shipment2.reload.backordered?).to eq(false)
|
441
424
|
|
442
425
|
within_row(1) { click_icon 'arrows-h' }
|
443
|
-
|
444
|
-
fill_in 'item_quantity', with: 1
|
445
|
-
click_icon :ok
|
426
|
+
complete_split_to(@shipment2, quantity: 1)
|
446
427
|
|
447
428
|
expect(page).to have_content("1 x backordered")
|
448
429
|
|
449
430
|
within('.stock-contents', text: "1 x on hand") do
|
450
431
|
within_row(1) { click_icon 'arrows-h' }
|
451
|
-
|
452
|
-
fill_in 'item_quantity', with: 1
|
453
|
-
click_icon :ok
|
432
|
+
complete_split_to(@shipment2, quantity: 1)
|
454
433
|
end
|
455
434
|
|
456
435
|
# Empty shipment should be removed
|
@@ -535,7 +514,7 @@ describe "Order Details", type: :feature, js: true do
|
|
535
514
|
wait_for_ajax
|
536
515
|
|
537
516
|
within '.carton-state' do
|
538
|
-
expect(page).to have_content('
|
517
|
+
expect(page).to have_content('shipped')
|
539
518
|
end
|
540
519
|
end
|
541
520
|
end
|
@@ -66,17 +66,17 @@ describe 'Payments', type: :feature do
|
|
66
66
|
within_row(1) do
|
67
67
|
expect(column_text(3)).to eq('$150.00')
|
68
68
|
expect(column_text(4)).to eq('Credit Card')
|
69
|
-
expect(column_text(6)).to eq('
|
69
|
+
expect(column_text(6)).to eq('checkout')
|
70
70
|
end
|
71
71
|
|
72
72
|
click_icon :void
|
73
|
-
expect(page).to have_css('#payment_status', text: '
|
73
|
+
expect(page).to have_css('#payment_status', text: 'balance due')
|
74
74
|
expect(page).to have_content('Payment Updated')
|
75
75
|
|
76
76
|
within_row(1) do
|
77
77
|
expect(column_text(3)).to eq('$150.00')
|
78
78
|
expect(column_text(4)).to eq('Credit Card')
|
79
|
-
expect(column_text(6)).to eq('
|
79
|
+
expect(column_text(6)).to eq('void')
|
80
80
|
end
|
81
81
|
|
82
82
|
click_on 'New Payment'
|
@@ -86,7 +86,7 @@ describe 'Payments', type: :feature do
|
|
86
86
|
|
87
87
|
click_icon(:capture)
|
88
88
|
|
89
|
-
expect(page).to have_selector('#payment_status', text: '
|
89
|
+
expect(page).to have_selector('#payment_status', text: 'paid')
|
90
90
|
expect(page).not_to have_selector('#new_payment_section')
|
91
91
|
end
|
92
92
|
|
@@ -222,6 +222,30 @@ describe 'Payments', type: :feature do
|
|
222
222
|
expect(page).to have_content("Payment Updated")
|
223
223
|
end
|
224
224
|
end
|
225
|
+
|
226
|
+
context 'with a soft-deleted payment method' do
|
227
|
+
let(:order) { create(:completed_order_with_totals, line_items_count: 1) }
|
228
|
+
let!(:payment_method) { create(:check_payment_method) }
|
229
|
+
let!(:payment) do
|
230
|
+
create(:payment,
|
231
|
+
order: order,
|
232
|
+
amount: order.outstanding_balance,
|
233
|
+
payment_method: payment_method
|
234
|
+
)
|
235
|
+
end
|
236
|
+
|
237
|
+
before do
|
238
|
+
payment_method.destroy
|
239
|
+
visit spree.admin_order_payments_path(order.reload)
|
240
|
+
end
|
241
|
+
|
242
|
+
it "can list and view the payment" do
|
243
|
+
expect(page).to have_content(payment.number)
|
244
|
+
click_on payment.number
|
245
|
+
expect(page).to have_current_path("/admin/orders/#{order.number}/payments/#{payment.id}")
|
246
|
+
expect(page).to have_content(payment.amount)
|
247
|
+
end
|
248
|
+
end
|
225
249
|
end
|
226
250
|
|
227
251
|
# Previously this would fail unless the method was named "Credit Card"
|
@@ -244,4 +268,33 @@ describe 'Payments', type: :feature do
|
|
244
268
|
expect(page).to have_content("Payment has been successfully created!")
|
245
269
|
end
|
246
270
|
end
|
271
|
+
|
272
|
+
context "when required quantity is more than available" do
|
273
|
+
let(:product) { create(:product_not_backorderable) }
|
274
|
+
|
275
|
+
let(:order) do
|
276
|
+
create(:order_with_line_items, {
|
277
|
+
line_items_count: 1,
|
278
|
+
line_items_attributes: [{ quantity: 11, product: product }],
|
279
|
+
stock_location: product.master.stock_locations.first
|
280
|
+
})
|
281
|
+
end
|
282
|
+
|
283
|
+
let!(:chequing_payment_method) { create(:check_payment_method) }
|
284
|
+
let!(:payment_method) { create(:credit_card_payment_method, name: "Multipass!") }
|
285
|
+
|
286
|
+
before do
|
287
|
+
visit spree.admin_order_payments_path(order.reload)
|
288
|
+
end
|
289
|
+
|
290
|
+
it "displays an error" do
|
291
|
+
choose payment_method.name
|
292
|
+
fill_in "Card Number", with: "4111 1111 1111 1111"
|
293
|
+
fill_in "Name", with: "Test User"
|
294
|
+
fill_in "Expiration", with: "09 / #{Time.current.year + 1}"
|
295
|
+
fill_in "Card Code", with: "007"
|
296
|
+
click_button "Continue"
|
297
|
+
expect(page).to have_content Spree.t(:insufficient_stock_for_order)
|
298
|
+
end
|
299
|
+
end
|
247
300
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "ReturnAuthorizations", type: :feature do
|
4
|
+
include OrderFeatureHelper
|
5
|
+
|
6
|
+
stub_authorization!
|
7
|
+
|
8
|
+
let!(:order) { create(:shipped_order) }
|
9
|
+
let!(:return_authorization) { create(:return_authorization, order: order) }
|
10
|
+
|
11
|
+
it "can visit the return authorizations list page" do
|
12
|
+
visit spree.admin_order_return_authorizations_path(order)
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "edit" do
|
16
|
+
it "can visit the return authorizations edit page" do
|
17
|
+
visit spree.edit_admin_order_return_authorization_path(order, return_authorization)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "return authorizations edit page has a data hook for extensions to add content above, below or within the RA form" do
|
21
|
+
visit spree.edit_admin_order_return_authorization_path(order, return_authorization)
|
22
|
+
expect(page).to have_selector("[data-hook=return-authorization-form-wrapper]")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "Shipments", type: :feature do
|
4
|
+
include OrderFeatureHelper
|
5
|
+
|
4
6
|
stub_authorization!
|
5
7
|
|
6
8
|
let!(:order) { create(:order_ready_to_ship, number: "R100", state: "complete", line_items_count: 5) }
|
@@ -32,7 +34,7 @@ describe "Shipments", type: :feature do
|
|
32
34
|
find(".ship-shipment-button").click
|
33
35
|
wait_for_ajax
|
34
36
|
|
35
|
-
expect(page).to have_content("
|
37
|
+
expect(page).to have_content("shipped package")
|
36
38
|
expect(order.reload.shipment_state).to eq("shipped")
|
37
39
|
end
|
38
40
|
end
|
@@ -53,16 +55,14 @@ describe "Shipments", type: :feature do
|
|
53
55
|
shipment1 = order.shipments[0]
|
54
56
|
|
55
57
|
within_row(1) { click_icon 'arrows-h' }
|
56
|
-
|
57
|
-
click_icon :ok
|
58
|
+
complete_split_to('LA')
|
58
59
|
|
59
60
|
expect(page).to have_css("#shipment_#{shipment1.id} tr.stock-item", count: 4)
|
60
61
|
shipment2 = (order.reload.shipments.to_a - [shipment1]).first
|
61
62
|
expect(page).to have_css("#shipment_#{shipment2.id} tr.stock-item", count: 1)
|
62
63
|
|
63
64
|
within_row(2) { click_icon 'arrows-h' }
|
64
|
-
|
65
|
-
click_icon :ok
|
65
|
+
complete_split_to("LA(#{shipment2.number})")
|
66
66
|
expect(page).to have_css("#shipment_#{shipment2.id} tr.stock-item", count: 2)
|
67
67
|
expect(page).to have_css("#shipment_#{shipment1.id} tr.stock-item", count: 3)
|
68
68
|
end
|
@@ -15,7 +15,7 @@ describe 'Product Details', type: :feature do
|
|
15
15
|
|
16
16
|
click_link 'Product Details'
|
17
17
|
|
18
|
-
expect(page).to
|
18
|
+
expect(page).to have_content('ProductsBún thịt nướng')
|
19
19
|
expect(page).to have_field('product_name', with: 'Bún thịt nướng')
|
20
20
|
expect(page).to have_field('product_slug', with: 'bun-th-t-n-ng')
|
21
21
|
expect(page).to have_field('product_description', with: 'lorem ipsum')
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe "Product
|
3
|
+
describe "Product Display Order", type: :feature do
|
4
4
|
stub_authorization!
|
5
5
|
|
6
|
-
context "managing
|
6
|
+
context "managing display order", js: true do
|
7
7
|
def assert_selected_taxons(taxons)
|
8
8
|
# Regression test for https://github.com/spree/spree/issues/2139
|
9
9
|
taxons.each do |taxon|
|
@@ -16,7 +16,7 @@ describe "Product Taxons", type: :feature do
|
|
16
16
|
|
17
17
|
let(:product) { create(:product) }
|
18
18
|
|
19
|
-
it "should allow an admin to manage taxons" do
|
19
|
+
it "should allow an admin to manage display order (taxons)" do
|
20
20
|
taxon_1 = create(:taxon)
|
21
21
|
taxon_2 = create(:taxon, name: 'Clothing')
|
22
22
|
product.taxons << taxon_1
|
@@ -25,7 +25,7 @@ describe "Product Taxons", type: :feature do
|
|
25
25
|
|
26
26
|
assert_selected_taxons([taxon_1])
|
27
27
|
|
28
|
-
select2_search "Clothing", from: "
|
28
|
+
select2_search "Clothing", from: "Taxon"
|
29
29
|
click_button "Update"
|
30
30
|
assert_selected_taxons([taxon_1, taxon_2])
|
31
31
|
end
|
@@ -36,7 +36,7 @@ describe "Product Taxons", type: :feature do
|
|
36
36
|
it "displays the escaped HTML without executing it" do
|
37
37
|
visit spree.edit_admin_product_path(product)
|
38
38
|
|
39
|
-
select2_search "<script>", from: "
|
39
|
+
select2_search "<script>", from: "Taxon"
|
40
40
|
|
41
41
|
expect(page).to have_content(taxon_name)
|
42
42
|
end
|
@@ -16,7 +16,7 @@ describe "Product Variants", type: :feature do
|
|
16
16
|
within_row(1) { click_icon :edit }
|
17
17
|
|
18
18
|
within('nav > ul.tabs') { click_link "Variants" }
|
19
|
-
expect(page).to have_content("
|
19
|
+
expect(page).to have_content("To add variants, you must first define")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "allows admin to create a variant if there are option types" do
|