solidus_backend 2.4.2 → 2.5.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +7 -7
- data/Rakefile +19 -13
- data/app/assets/javascripts/spree/backend.js +5 -17
- data/app/assets/javascripts/spree/backend/adjustments.js +26 -0
- data/app/assets/javascripts/spree/backend/admin.js +14 -78
- data/app/assets/javascripts/spree/backend/backbone-overrides.js +25 -0
- data/app/assets/javascripts/spree/backend/calculator.js +1 -1
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +1 -1
- data/app/assets/javascripts/spree/backend/collections/index.js +1 -0
- data/app/assets/javascripts/spree/backend/collections/shipments.js +6 -0
- data/app/assets/javascripts/spree/backend/components/editable_table.js +5 -0
- data/app/assets/javascripts/spree/backend/components/number_with_currency.js +1 -1
- data/app/assets/javascripts/spree/backend/components/sortable_table.js +29 -0
- data/app/assets/javascripts/spree/backend/components/tabs.js +67 -0
- data/app/assets/javascripts/spree/backend/components/tooltips.js +19 -24
- data/app/assets/javascripts/spree/backend/datepicker.js +55 -0
- data/app/assets/javascripts/spree/backend/flash.js +20 -0
- data/app/assets/javascripts/spree/backend/gateway.js +22 -0
- data/app/assets/javascripts/spree/backend/handlebars_extensions.js +8 -0
- data/app/assets/javascripts/spree/backend/images/index.js +8 -0
- data/app/assets/javascripts/spree/backend/models/index.js +3 -0
- data/app/assets/javascripts/spree/backend/models/line_item.js +4 -0
- data/app/assets/javascripts/spree/backend/models/order.js +2 -1
- data/app/assets/javascripts/spree/backend/models/payment.js +5 -0
- data/app/assets/javascripts/spree/backend/models/shipment.js +27 -0
- data/app/assets/javascripts/spree/backend/models/stock_item.js +6 -0
- data/app/assets/javascripts/spree/backend/namespaces.js +5 -1
- data/app/assets/javascripts/spree/backend/navigation.js +14 -0
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +1 -1
- data/app/assets/javascripts/spree/backend/option_value_picker.js +1 -0
- data/app/assets/javascripts/spree/backend/orders/cart.js +1 -1
- data/app/assets/javascripts/spree/backend/orders/edit.js +2 -2
- data/app/assets/javascripts/spree/backend/payments/edit.js +16 -0
- data/app/assets/javascripts/spree/backend/payments/new.js +1 -1
- data/app/assets/javascripts/spree/backend/product_picker.js +1 -1
- data/app/assets/javascripts/spree/backend/progress.js +9 -0
- data/app/assets/javascripts/spree/backend/promotions.js +35 -0
- data/app/assets/javascripts/spree/backend/promotions/activation.js +1 -1
- data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +1 -1
- data/app/assets/javascripts/spree/backend/routes.js +0 -12
- data/app/assets/javascripts/spree/backend/shipments.js +35 -68
- data/app/assets/javascripts/spree/backend/stock_location.js +23 -0
- data/app/assets/javascripts/spree/backend/stock_management.js +22 -0
- data/app/assets/javascripts/spree/backend/store_credits.js +25 -0
- data/app/assets/javascripts/spree/backend/style_guide.js +3 -0
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +1 -1
- data/app/assets/javascripts/spree/backend/taxonomy.js +121 -0
- data/app/assets/javascripts/spree/backend/taxons.js +75 -0
- data/app/assets/javascripts/spree/backend/templates/index.js +2 -2
- data/app/assets/javascripts/spree/backend/templates/orders/line_item.hbs +7 -5
- data/app/assets/javascripts/spree/backend/templates/orders/shipment_tracking.hbs +24 -0
- data/app/assets/javascripts/spree/backend/templates/orders/shipping_method.hbs +34 -0
- data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +7 -3
- data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +6 -2
- data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +3 -1
- data/app/assets/javascripts/spree/backend/templates/variants/autocomplete_stock.hbs +10 -5
- data/app/assets/javascripts/spree/backend/templates/variants/split.hbs +5 -3
- data/app/assets/javascripts/spree/backend/translation.js +11 -0
- data/app/assets/javascripts/spree/backend/turbolinks-integration.js +21 -0
- data/app/assets/javascripts/spree/backend/user_picker.js +1 -1
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js +60 -0
- data/app/assets/javascripts/spree/backend/views/calculators/tiered.js +54 -0
- data/app/assets/javascripts/spree/backend/views/cart/line_item_row.js +2 -1
- data/app/assets/javascripts/spree/backend/views/index.js +7 -0
- data/app/assets/javascripts/spree/backend/views/order/shipment_tracking.js +46 -0
- data/app/assets/javascripts/spree/backend/views/order/shipping_method.js +57 -0
- data/app/assets/javascripts/spree/backend/views/payment/payment_row.js +36 -0
- data/app/assets/javascripts/spree/backend/views/promotions/option_values_rule.js +79 -0
- data/app/assets/javascripts/spree/backend/views/state_select.js +6 -6
- data/app/assets/javascripts/spree/backend/views/stock/add_stock_item.js +63 -0
- data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +68 -0
- data/app/assets/javascripts/spree/backend/views/tables/editable_table.js +15 -0
- data/app/assets/javascripts/spree/backend/views/tables/editable_table_row.js +61 -0
- data/app/assets/javascripts/spree/backend/zone.js +1 -1
- data/app/assets/stylesheets/spree/backend.css +1 -2
- data/app/assets/stylesheets/spree/backend/components/_messages.scss +4 -1
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +4 -2
- data/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss +8 -2
- data/app/assets/stylesheets/spree/backend/components/_progress.scss +4 -0
- data/app/assets/stylesheets/spree/backend/components/_tabs.scss +4 -2
- data/app/assets/stylesheets/spree/backend/globals/mixins/_line_through.scss +2 -1
- data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +32 -7
- data/app/assets/stylesheets/spree/backend/plugins/_sortable.scss +3 -0
- data/app/assets/stylesheets/spree/backend/sections/_orders.scss +4 -20
- data/app/assets/stylesheets/spree/backend/sections/_products.scss +0 -1
- data/app/assets/stylesheets/spree/backend/sections/_promotions.scss +15 -7
- data/app/assets/stylesheets/spree/backend/sections/_store_credits.scss +17 -6
- data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +8 -4
- data/app/assets/stylesheets/spree/backend/sections/_taxonomies.scss +5 -19
- data/app/assets/stylesheets/spree/backend/sections/_variants.scss +5 -0
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +13 -17
- data/app/assets/stylesheets/spree/backend/shared/_layout.scss +9 -3
- data/app/assets/stylesheets/spree/backend/shared/_tables.scss +3 -27
- data/app/assets/stylesheets/spree/backend/spree_admin.scss +2 -6
- data/app/controllers/spree/admin/base_controller.rb +2 -3
- data/app/controllers/spree/admin/cancellations_controller.rb +3 -3
- data/app/controllers/spree/admin/images_controller.rb +1 -1
- data/app/controllers/spree/admin/option_types_controller.rb +1 -2
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
- data/app/controllers/spree/admin/orders_controller.rb +11 -11
- data/app/controllers/spree/admin/payment_methods_controller.rb +5 -6
- data/app/controllers/spree/admin/payments_controller.rb +5 -5
- data/app/controllers/spree/admin/products_controller.rb +4 -6
- data/app/controllers/spree/admin/promotion_actions_controller.rb +4 -4
- data/app/controllers/spree/admin/promotion_rules_controller.rb +3 -3
- data/app/controllers/spree/admin/promotions_controller.rb +5 -1
- data/app/controllers/spree/admin/reports_controller.rb +2 -2
- data/app/controllers/spree/admin/resource_controller.rb +17 -5
- data/app/controllers/spree/admin/return_authorizations_controller.rb +2 -2
- data/app/controllers/spree/admin/shipping_methods_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_locations_controller.rb +1 -1
- data/app/controllers/spree/admin/store_credits_controller.rb +4 -4
- data/app/controllers/spree/admin/taxons_controller.rb +1 -1
- data/app/controllers/spree/admin/users_controller.rb +6 -6
- data/app/controllers/spree/admin/variants_controller.rb +0 -16
- data/app/helpers/spree/admin/adjustments_helper.rb +2 -2
- data/app/helpers/spree/admin/base_helper.rb +5 -11
- data/app/helpers/spree/admin/navigation_helper.rb +8 -8
- data/app/helpers/spree/admin/orders_helper.rb +2 -2
- data/app/helpers/spree/admin/products_helper.rb +0 -24
- data/app/helpers/spree/admin/store_credit_events_helper.rb +5 -5
- data/app/models/spree/backend_configuration.rb +1 -2
- data/app/views/spree/admin/adjustment_reasons/edit.html.erb +2 -2
- data/app/views/spree/admin/adjustment_reasons/index.html.erb +5 -5
- data/app/views/spree/admin/adjustment_reasons/new.html.erb +3 -3
- data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
- data/app/views/spree/admin/adjustments/_form.html.erb +1 -1
- data/app/views/spree/admin/adjustments/edit.html.erb +3 -3
- data/app/views/spree/admin/adjustments/index.html.erb +3 -3
- data/app/views/spree/admin/adjustments/new.html.erb +3 -3
- data/app/views/spree/admin/cancellations/index.html.erb +3 -3
- data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +2 -2
- data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +7 -7
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -2
- data/app/views/spree/admin/customer_returns/edit.html.erb +7 -7
- data/app/views/spree/admin/customer_returns/index.html.erb +4 -4
- data/app/views/spree/admin/customer_returns/new.html.erb +11 -11
- data/app/views/spree/admin/images/_image_row.html.erb +3 -3
- data/app/views/spree/admin/images/_new.html.erb +12 -0
- data/app/views/spree/admin/images/edit.html.erb +4 -4
- data/app/views/spree/admin/images/index.html.erb +7 -5
- data/app/views/spree/admin/images/new.html.erb +1 -12
- data/app/views/spree/admin/log_entries/index.html.erb +2 -2
- data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
- data/app/views/spree/admin/option_types/edit.html.erb +1 -1
- data/app/views/spree/admin/option_types/index.html.erb +2 -2
- data/app/views/spree/admin/option_types/new.html.erb +1 -1
- data/app/views/spree/admin/orders/_add_product.html.erb +2 -2
- data/app/views/spree/admin/orders/_carton.html.erb +8 -8
- data/app/views/spree/admin/orders/_carton_manifest.html.erb +1 -1
- data/app/views/spree/admin/orders/_order_details.html.erb +4 -4
- data/app/views/spree/admin/orders/_risk_analysis.html.erb +10 -10
- data/app/views/spree/admin/orders/_shipment.html.erb +11 -69
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +3 -3
- data/app/views/spree/admin/orders/cart.html.erb +2 -2
- data/app/views/spree/admin/orders/confirm.html.erb +6 -6
- data/app/views/spree/admin/orders/confirm/_customer_details.html.erb +3 -3
- data/app/views/spree/admin/orders/confirm/_payments.html.erb +1 -1
- data/app/views/spree/admin/orders/confirm/_shipment.html.erb +2 -2
- data/app/views/spree/admin/orders/confirm/_shipment_manifest.html.erb +1 -1
- data/app/views/spree/admin/orders/confirm_advance.html.erb +3 -3
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +19 -13
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +2 -2
- data/app/views/spree/admin/orders/customer_details/show.html.erb +7 -7
- data/app/views/spree/admin/orders/edit.html.erb +2 -2
- data/app/views/spree/admin/orders/index.html.erb +30 -28
- data/app/views/spree/admin/payment_methods/_form.html.erb +24 -13
- data/app/views/spree/admin/payment_methods/edit.html.erb +2 -2
- data/app/views/spree/admin/payment_methods/index.html.erb +6 -6
- data/app/views/spree/admin/payment_methods/new.html.erb +3 -3
- data/app/views/spree/admin/payments/_capture_events.html.erb +2 -2
- data/app/views/spree/admin/payments/_list.html.erb +33 -13
- data/app/views/spree/admin/payments/credit.html.erb +1 -1
- data/app/views/spree/admin/payments/index.html.erb +3 -3
- data/app/views/spree/admin/payments/new.html.erb +4 -4
- data/app/views/spree/admin/payments/show.html.erb +2 -2
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +22 -23
- data/app/views/spree/admin/payments/source_views/_gateway.html.erb +1 -1
- data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +1 -1
- data/app/views/spree/admin/prices/_form.html.erb +1 -2
- data/app/views/spree/admin/prices/edit.html.erb +1 -1
- data/app/views/spree/admin/prices/index.html.erb +2 -2
- data/app/views/spree/admin/prices/new.html.erb +1 -1
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +1 -1
- data/app/views/spree/admin/product_properties/index.html.erb +7 -14
- data/app/views/spree/admin/products/_form.html.erb +17 -14
- data/app/views/spree/admin/products/edit.html.erb +2 -2
- data/app/views/spree/admin/products/index.html.erb +6 -6
- data/app/views/spree/admin/products/new.html.erb +5 -59
- data/app/views/spree/admin/promotion_categories/index.html.erb +1 -1
- data/app/views/spree/admin/promotion_categories/new.html.erb +1 -1
- data/app/views/spree/admin/promotion_code_batches/index.html.erb +8 -8
- data/app/views/spree/admin/promotion_code_batches/new.html.erb +1 -1
- data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +6 -6
- data/app/views/spree/admin/promotions/_form.html.erb +13 -4
- data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
- data/app/views/spree/admin/promotions/_rules.html.erb +8 -8
- data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +4 -10
- data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +25 -29
- data/app/views/spree/admin/promotions/calculators/_default_fields.html.erb +5 -4
- data/app/views/spree/admin/promotions/calculators/distributed_amount/_fields.html.erb +6 -4
- data/app/views/spree/admin/promotions/calculators/flat_rate/_fields.html.erb +6 -4
- data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +5 -5
- data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +5 -5
- data/app/views/spree/admin/promotions/edit.html.erb +1 -1
- data/app/views/spree/admin/promotions/index.html.erb +7 -7
- data/app/views/spree/admin/promotions/new.html.erb +1 -1
- data/app/views/spree/admin/promotions/rules/_item_total.html.erb +10 -12
- data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +8 -10
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +10 -14
- data/app/views/spree/admin/promotions/rules/_product.html.erb +12 -10
- data/app/views/spree/admin/promotions/rules/_taxon.html.erb +9 -15
- data/app/views/spree/admin/promotions/rules/_user.html.erb +3 -5
- data/app/views/spree/admin/promotions/rules/_user_role.html.erb +3 -3
- data/app/views/spree/admin/properties/index.html.erb +5 -5
- data/app/views/spree/admin/properties/new.html.erb +1 -1
- data/app/views/spree/admin/refund_reasons/edit.html.erb +2 -2
- data/app/views/spree/admin/refund_reasons/index.html.erb +5 -5
- data/app/views/spree/admin/refund_reasons/new.html.erb +3 -3
- data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +1 -1
- data/app/views/spree/admin/refunds/edit.html.erb +3 -3
- data/app/views/spree/admin/refunds/new.html.erb +4 -4
- data/app/views/spree/admin/reimbursement_types/index.html.erb +2 -2
- data/app/views/spree/admin/reimbursements/edit.html.erb +9 -9
- data/app/views/spree/admin/reimbursements/index.html.erb +4 -4
- data/app/views/spree/admin/reimbursements/show.html.erb +4 -4
- data/app/views/spree/admin/reports/index.html.erb +3 -3
- data/app/views/spree/admin/reports/sales_total.html.erb +7 -7
- data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -3
- data/app/views/spree/admin/return_authorizations/edit.html.erb +5 -5
- data/app/views/spree/admin/return_authorizations/index.html.erb +4 -4
- data/app/views/spree/admin/return_authorizations/new.html.erb +3 -3
- data/app/views/spree/admin/return_reasons/edit.html.erb +2 -2
- data/app/views/spree/admin/return_reasons/index.html.erb +3 -3
- data/app/views/spree/admin/return_reasons/new.html.erb +3 -3
- data/app/views/spree/admin/shared/_address_form.html.erb +2 -0
- data/app/views/spree/admin/shared/_calculator_fields.html.erb +4 -3
- data/app/views/spree/admin/shared/_edit_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_head.html.erb +13 -5
- data/app/views/spree/admin/shared/_js_locale_data.html.erb +24 -32
- data/app/views/spree/admin/shared/_navigation_footer.html.erb +32 -2
- data/app/views/spree/admin/shared/_new_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_no_objects_found.html.erb +2 -2
- data/app/views/spree/admin/shared/_number_with_currency.html.erb +9 -5
- data/app/views/spree/admin/shared/_order_submenu.html.erb +6 -6
- data/app/views/spree/admin/shared/_order_summary.html.erb +5 -5
- data/app/views/spree/admin/shared/_order_tabs.html.erb +1 -1
- data/app/views/spree/admin/shared/_product_tabs.html.erb +3 -3
- data/app/views/spree/admin/shared/_rebuild_vat_prices_checkbox.html.erb +2 -2
- data/app/views/spree/admin/shared/_refunds.html.erb +2 -2
- data/app/views/spree/admin/shared/_report_order_criteria.html.erb +8 -6
- data/app/views/spree/admin/shared/_spinner.html.erb +1 -1
- data/app/views/spree/admin/shared/_variant_search.html.erb +3 -3
- data/app/views/spree/admin/shared/named_types/_form.html.erb +4 -2
- data/app/views/spree/admin/shared/named_types/_index.html.erb +4 -4
- data/app/views/spree/admin/shared/preference_fields/_boolean.html.erb +9 -8
- data/app/views/spree/admin/shipping_categories/edit.html.erb +3 -3
- data/app/views/spree/admin/shipping_categories/index.html.erb +5 -5
- data/app/views/spree/admin/shipping_categories/new.html.erb +3 -3
- data/app/views/spree/admin/shipping_methods/_form.html.erb +10 -8
- data/app/views/spree/admin/shipping_methods/edit.html.erb +2 -2
- data/app/views/spree/admin/shipping_methods/index.html.erb +5 -5
- data/app/views/spree/admin/shipping_methods/new.html.erb +3 -3
- data/app/views/spree/admin/stock_items/_stock_management.html.erb +7 -7
- data/app/views/spree/admin/stock_items/index.html.erb +4 -4
- data/app/views/spree/admin/stock_locations/_form.html.erb +105 -103
- data/app/views/spree/admin/stock_locations/edit.html.erb +4 -6
- data/app/views/spree/admin/stock_locations/index.html.erb +5 -11
- data/app/views/spree/admin/stock_locations/new.html.erb +5 -7
- data/app/views/spree/admin/stock_movements/index.html.erb +3 -3
- data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
- data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +7 -8
- data/app/views/spree/admin/store_credits/edit_amount.html.erb +10 -6
- data/app/views/spree/admin/store_credits/edit_validity.html.erb +7 -5
- data/app/views/spree/admin/store_credits/index.html.erb +13 -13
- data/app/views/spree/admin/store_credits/new.html.erb +2 -2
- data/app/views/spree/admin/store_credits/show.html.erb +24 -32
- data/app/views/spree/admin/stores/_form.html.erb +1 -1
- data/app/views/spree/admin/stores/edit.html.erb +1 -1
- data/app/views/spree/admin/stores/index.html.erb +1 -1
- data/app/views/spree/admin/stores/new.html.erb +1 -1
- data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +5 -3
- data/app/views/spree/admin/style_guide/topics/messaging/_loading.html.erb +1 -1
- data/app/views/spree/admin/tax_categories/_form.html.erb +4 -2
- data/app/views/spree/admin/tax_categories/edit.html.erb +2 -2
- data/app/views/spree/admin/tax_categories/index.html.erb +5 -5
- data/app/views/spree/admin/tax_categories/new.html.erb +3 -3
- data/app/views/spree/admin/tax_rates/_form.html.erb +17 -11
- data/app/views/spree/admin/tax_rates/edit.html.erb +2 -2
- data/app/views/spree/admin/tax_rates/index.html.erb +8 -8
- data/app/views/spree/admin/tax_rates/new.html.erb +3 -3
- data/app/views/spree/admin/taxonomies/edit.erb +3 -3
- data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
- data/app/views/spree/admin/taxonomies/new.html.erb +2 -2
- data/app/views/spree/admin/taxons/_form.html.erb +5 -1
- data/app/views/spree/admin/taxons/edit.html.erb +4 -4
- data/app/views/spree/admin/taxons/index.html.erb +7 -7
- data/app/views/spree/admin/users/_addresses_form.html.erb +2 -2
- data/app/views/spree/admin/users/_form.html.erb +10 -5
- data/app/views/spree/admin/users/_sidebar.html.erb +6 -6
- data/app/views/spree/admin/users/_tabs.html.erb +5 -5
- data/app/views/spree/admin/users/edit.html.erb +14 -15
- data/app/views/spree/admin/users/index.html.erb +14 -12
- data/app/views/spree/admin/users/items.html.erb +7 -7
- data/app/views/spree/admin/users/new.html.erb +1 -1
- data/app/views/spree/admin/users/orders.html.erb +7 -7
- data/app/views/spree/admin/variants/_form.html.erb +2 -2
- data/app/views/spree/admin/variants/_table.html.erb +2 -2
- data/app/views/spree/admin/variants/_table_filter.html.erb +5 -5
- data/app/views/spree/admin/variants/index.html.erb +8 -8
- data/app/views/spree/admin/variants/new.html.erb +1 -1
- data/app/views/spree/admin/zones/_form.html.erb +10 -6
- data/app/views/spree/admin/zones/edit.html.erb +1 -1
- data/app/views/spree/admin/zones/index.html.erb +3 -3
- data/app/views/spree/admin/zones/new.html.erb +2 -2
- data/app/views/spree/layouts/admin.html.erb +1 -1
- data/app/views/spree/layouts/admin_style_guide.html.erb +2 -2
- data/config/routes.rb +1 -11
- data/lib/spree/backend.rb +1 -2
- data/solidus_backend.gemspec +1 -3
- data/spec/controllers/spree/admin/cancellations_controller_spec.rb +3 -3
- data/spec/controllers/spree/admin/orders_controller_spec.rb +9 -9
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/prices_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/products_controller_spec.rb +2 -1
- data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/promotions_controller_spec.rb +7 -0
- data/spec/controllers/spree/admin/reports_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/resource_controller_spec.rb +2 -2
- data/spec/controllers/spree/admin/search_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +4 -4
- data/spec/controllers/spree/admin/users_controller_spec.rb +1 -1
- data/spec/controllers/spree/admin/variants_controller_spec.rb +13 -3
- data/spec/features/admin/configuration/payment_methods_spec.rb +55 -16
- data/spec/features/admin/configuration/shipping_methods_spec.rb +40 -0
- data/spec/features/admin/homepage_spec.rb +25 -8
- data/spec/features/admin/orders/adjustments_spec.rb +2 -2
- data/spec/features/admin/orders/customer_details_spec.rb +24 -9
- data/spec/features/admin/orders/listing_spec.rb +6 -9
- data/spec/features/admin/orders/log_entries_spec.rb +0 -1
- data/spec/features/admin/orders/new_order_spec.rb +8 -2
- data/spec/features/admin/orders/order_details_spec.rb +116 -74
- data/spec/features/admin/orders/payments_spec.rb +7 -10
- data/spec/features/admin/orders/shipments_spec.rb +9 -5
- data/spec/features/admin/payments/store_credits_spec.rb +2 -2
- data/spec/features/admin/products/edit/images_spec.rb +0 -79
- data/spec/features/admin/products/products_spec.rb +3 -6
- data/spec/features/admin/products/variant_spec.rb +17 -0
- data/spec/features/admin/promotion_adjustments_spec.rb +105 -52
- data/spec/features/admin/promotions/option_value_rule_spec.rb +6 -3
- data/spec/features/admin/promotions/tiered_calculator_spec.rb +4 -2
- data/spec/features/admin/users_spec.rb +14 -11
- data/spec/javascripts/translation_spec.js +8 -0
- data/spec/javascripts/views/number_with_currency_spec.js +6 -6
- data/spec/spec_helper.rb +28 -37
- data/spec/teaspoon_env.rb +61 -14
- data/spec/views/spree/admin/shared/navigation_footer_spec.rb +41 -0
- data/vendor/assets/javascripts/solidus_admin/Sortable.js +1540 -0
- data/vendor/assets/javascripts/solidus_admin/bootstrap.js +1878 -1816
- data/vendor/assets/javascripts/solidus_admin/flatpickr/flatpickr.js +2218 -0
- data/vendor/assets/javascripts/solidus_admin/select2_locales/select2_locale_es-MX.js +19 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_alert.scss +7 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_badge.scss +1 -2
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_breadcrumb.scss +4 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_button-group.scss +32 -64
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_buttons.scss +38 -36
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_card.scss +78 -31
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_carousel.scss +6 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_close.scss +8 -3
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_code.scss +4 -12
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_custom-forms.scss +132 -89
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_dropdown.scss +46 -43
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_forms.scss +47 -104
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_functions.scss +8 -12
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_grid.scss +0 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_images.scss +0 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_input-group.scss +103 -120
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_list-group.scss +2 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_mixins.scss +1 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_modal.scss +36 -10
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_nav.scss +7 -7
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_navbar.scss +35 -8
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_pagination.scss +33 -22
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_popover.scss +106 -118
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_print.scss +19 -6
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_progress.scss +5 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_reboot.scss +39 -38
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_root.scss +19 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tables.scss +40 -28
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_tooltip.scss +65 -57
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_transitions.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_type.scss +4 -2
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +546 -489
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-grid.scss +8 -13
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap-reboot.scss +7 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/bootstrap.scss +5 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_alert.scss +1 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_background-variant.scss +10 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_badge.scss +2 -2
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_breakpoints.scss +25 -7
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_buttons.scss +50 -24
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_caret.scss +65 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_float.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_forms.scss +72 -16
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_gradients.scss +8 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid-framework.scss +15 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_grid.scss +10 -5
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_hover.scss +25 -46
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_image.scss +3 -3
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_list-group.scss +10 -15
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_navbar-align.scss +2 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_reset-text.scss +1 -2
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_screen-reader.scss +3 -3
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-emphasis.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss +1 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_visibility.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_align.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_background.scss +16 -3
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_borders.scss +10 -3
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_display.scss +13 -28
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_flex.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_position.scss +12 -1
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_sizing.scss +2 -0
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_spacing.scss +24 -14
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/utilities/_text.scss +7 -4
- data/vendor/assets/stylesheets/solidus_admin/flatpickr/flatpickr.css +857 -0
- metadata +57 -127
- data/Gemfile +0 -9
- data/app/assets/javascripts/spree/backend/address_states.js +0 -35
- data/app/assets/javascripts/spree/backend/adjustments.js.coffee +0 -17
- data/app/assets/javascripts/spree/backend/backbone-overrides.js.coffee +0 -23
- data/app/assets/javascripts/spree/backend/components/editable_table.js.coffee +0 -3
- data/app/assets/javascripts/spree/backend/components/tabs.coffee +0 -79
- data/app/assets/javascripts/spree/backend/flash.coffee +0 -17
- data/app/assets/javascripts/spree/backend/gateway.js.coffee +0 -21
- data/app/assets/javascripts/spree/backend/images/index.js.coffee +0 -13
- data/app/assets/javascripts/spree/backend/navigation.coffee +0 -10
- data/app/assets/javascripts/spree/backend/number_field_updater.coffee +0 -41
- data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +0 -33
- data/app/assets/javascripts/spree/backend/progress.coffee +0 -7
- data/app/assets/javascripts/spree/backend/promotions.js.coffee +0 -99
- data/app/assets/javascripts/spree/backend/select_payments.js.coffee +0 -0
- data/app/assets/javascripts/spree/backend/states.coffee +0 -22
- data/app/assets/javascripts/spree/backend/stock_management/index_add_forms.coffee +0 -61
- data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +0 -66
- data/app/assets/javascripts/spree/backend/stock_management/stock_item.coffee +0 -4
- data/app/assets/javascripts/spree/backend/stock_transfers/count_update_forms.coffee +0 -44
- data/app/assets/javascripts/spree/backend/stock_transfers/edit.coffee +0 -6
- data/app/assets/javascripts/spree/backend/stock_transfers/receive.coffee +0 -5
- data/app/assets/javascripts/spree/backend/stock_transfers/received_counter.coffee +0 -9
- data/app/assets/javascripts/spree/backend/stock_transfers/stock_transfer.coffee +0 -17
- data/app/assets/javascripts/spree/backend/stock_transfers/transfer_item.coffee +0 -48
- data/app/assets/javascripts/spree/backend/stock_transfers/transfer_item_deleting.coffee +0 -22
- data/app/assets/javascripts/spree/backend/stock_transfers/variant_form.coffee +0 -128
- data/app/assets/javascripts/spree/backend/store_credits.js.coffee +0 -40
- data/app/assets/javascripts/spree/backend/style_guide.coffee +0 -2
- data/app/assets/javascripts/spree/backend/taxonomy.js.coffee +0 -108
- data/app/assets/javascripts/spree/backend/taxons.js.coffee +0 -73
- data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values_select.hbs +0 -1
- data/app/assets/javascripts/spree/backend/templates/stock_transfers/transfer_item.hbs +0 -48
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js.coffee +0 -39
- data/app/assets/javascripts/spree/backend/views/tables/editable_table.js.coffee +0 -14
- data/app/assets/javascripts/spree/backend/views/tables/editable_table_row.js.coffee +0 -45
- data/app/assets/stylesheets/spree/backend/components/_date-picker.scss +0 -154
- data/app/assets/stylesheets/spree/backend/components/_number_field_update.scss +0 -13
- data/app/assets/stylesheets/spree/backend/sections/_stock_transfers.scss +0 -7
- data/app/assets/stylesheets/spree/backend/sections/_transfer_items.scss +0 -49
- data/app/controllers/spree/admin/stock_transfers_controller.rb +0 -151
- data/app/helpers/spree/admin/general_settings_helper.rb +0 -13
- data/app/helpers/spree/admin/inventory_settings_helper.rb +0 -9
- data/app/helpers/spree/admin/stock_transfers_helper.rb +0 -35
- data/app/helpers/spree/admin/tables_helper.rb +0 -13
- data/app/helpers/spree/admin/taxons_helper.rb +0 -9
- data/app/views/spree/admin/products/new.js.erb +0 -4
- data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +0 -7
- data/app/views/spree/admin/shared/_number_field_update_actions.html.erb +0 -5
- data/app/views/spree/admin/shared/_number_field_update_cell.html.erb +0 -4
- data/app/views/spree/admin/shared/_stock_sub_menu.html.erb +0 -8
- data/app/views/spree/admin/stock_transfers/_location.html.erb +0 -7
- data/app/views/spree/admin/stock_transfers/_transfer_item_actions.html.erb +0 -9
- data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +0 -72
- data/app/views/spree/admin/stock_transfers/edit.html.erb +0 -52
- data/app/views/spree/admin/stock_transfers/index.html.erb +0 -123
- data/app/views/spree/admin/stock_transfers/new.html.erb +0 -26
- data/app/views/spree/admin/stock_transfers/receive.html.erb +0 -38
- data/app/views/spree/admin/stock_transfers/show.html.erb +0 -50
- data/app/views/spree/admin/stock_transfers/tracking_info.html.erb +0 -46
- data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +0 -365
- data/spec/features/admin/stock_transfer_spec.rb +0 -115
- 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/stylesheets/jquery-ui.datepicker.css.erb +0 -357
|
@@ -35,6 +35,46 @@ describe "Shipping Methods", type: :feature do
|
|
|
35
35
|
click_on "Create"
|
|
36
36
|
expect(current_path).to eql(spree.edit_admin_shipping_method_path(Spree::ShippingMethod.last))
|
|
37
37
|
end
|
|
38
|
+
|
|
39
|
+
context 'with shipping method having a calculator with array or hash preference type' do
|
|
40
|
+
before do
|
|
41
|
+
class ComplexShipments < Spree::ShippingCalculator
|
|
42
|
+
preference :amount, :decimal
|
|
43
|
+
preference :currency, :string
|
|
44
|
+
preference :mapping, :hash
|
|
45
|
+
preference :list, :array
|
|
46
|
+
|
|
47
|
+
def self.description
|
|
48
|
+
"Complex Shipments"
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
@calculators = Rails.application.config.spree.calculators.shipping_methods
|
|
52
|
+
Rails.application.config.spree.calculators.shipping_methods = [ComplexShipments]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
after do
|
|
56
|
+
Rails.application.config.spree.calculators.shipping_methods = @calculators
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "does not show array and hash form fields" do
|
|
60
|
+
click_link "New Shipping Method"
|
|
61
|
+
|
|
62
|
+
fill_in "shipping_method_name", with: "bullock cart"
|
|
63
|
+
|
|
64
|
+
within("#shipping_method_categories_field") do
|
|
65
|
+
check first("input[type='checkbox']")["name"]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
click_on "Create"
|
|
69
|
+
select 'Complex Shipments', from: 'Base Calculator'
|
|
70
|
+
click_on "Update"
|
|
71
|
+
|
|
72
|
+
expect(page).to have_field('Amount')
|
|
73
|
+
expect(page).to have_field('Currency')
|
|
74
|
+
expect(page).to_not have_field('Mapping')
|
|
75
|
+
expect(page).to_not have_field('List')
|
|
76
|
+
end
|
|
77
|
+
end
|
|
38
78
|
end
|
|
39
79
|
|
|
40
80
|
# Regression test for https://github.com/spree/spree/issues/1331
|
|
@@ -10,23 +10,27 @@ describe "Homepage", type: :feature do
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
it "should have a link to overview" do
|
|
13
|
-
within(".admin-nav-header") { page.
|
|
13
|
+
within(".admin-nav-header") { expect(page).to have_link(nil, href: "/admin") }
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
it "should have a link to orders" do
|
|
17
|
-
page.
|
|
17
|
+
expect(page).to have_link("Orders", href: "/admin/orders")
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
it "should have a link to products" do
|
|
21
|
-
page.
|
|
21
|
+
expect(page).to have_link("Products", href: "/admin/products", count: 2)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
it "should have a link to reports" do
|
|
25
|
-
page.
|
|
25
|
+
expect(page).to have_link("Reports", href: "/admin/reports")
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
it "should have a link to configuration" do
|
|
29
|
-
page.
|
|
29
|
+
expect(page).to have_link("Settings", href: "/admin/stores")
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it "should have a link to promotions" do
|
|
33
|
+
expect(page).to have_link("Promotions", href: "/admin/promotions", count: 2)
|
|
30
34
|
end
|
|
31
35
|
end
|
|
32
36
|
|
|
@@ -36,17 +40,30 @@ describe "Homepage", type: :feature do
|
|
|
36
40
|
end
|
|
37
41
|
|
|
38
42
|
it "should have a link to products" do
|
|
39
|
-
within('.selected .admin-subnav') { page.
|
|
43
|
+
within('.selected .admin-subnav') { expect(page).to have_link("Products", href: "/admin/products") }
|
|
40
44
|
end
|
|
41
45
|
|
|
42
46
|
it "should have a link to option types" do
|
|
43
|
-
within('.selected .admin-subnav') { page.
|
|
47
|
+
within('.selected .admin-subnav') { expect(page).to have_link("Option Types", href: "/admin/option_types") }
|
|
44
48
|
end
|
|
45
49
|
|
|
46
50
|
it "should have a link to property types" do
|
|
47
|
-
within('.selected .admin-subnav') { page.
|
|
51
|
+
within('.selected .admin-subnav') { expect(page).to have_link("Property Types", href: "/admin/properties") }
|
|
48
52
|
end
|
|
53
|
+
end
|
|
49
54
|
|
|
55
|
+
context "visiting the promotions tab" do
|
|
56
|
+
before(:each) do
|
|
57
|
+
visit spree.admin_promotions_path
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "should have a link to promotions" do
|
|
61
|
+
within('.selected .admin-subnav') { expect(page).to have_link("Promotions", href: "/admin/promotions") }
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it "should have a link to promotion categories" do
|
|
65
|
+
within('.selected .admin-subnav') { expect(page).to have_link("Promotion Categories", href: "/admin/promotion_categories") }
|
|
66
|
+
end
|
|
50
67
|
end
|
|
51
68
|
end
|
|
52
69
|
|
|
@@ -65,7 +65,7 @@ describe "Adjustments", type: :feature do
|
|
|
65
65
|
fill_in "adjustment_amount", with: ""
|
|
66
66
|
fill_in "adjustment_label", with: ""
|
|
67
67
|
click_button "Continue"
|
|
68
|
-
expect(page).to have_content("
|
|
68
|
+
expect(page).to have_content("Label can't be blank")
|
|
69
69
|
expect(page).to have_content("Amount is not a number")
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -98,7 +98,7 @@ describe "Adjustments", type: :feature do
|
|
|
98
98
|
fill_in "adjustment_amount", with: ""
|
|
99
99
|
fill_in "adjustment_label", with: ""
|
|
100
100
|
click_button "Continue"
|
|
101
|
-
expect(page).to have_content("
|
|
101
|
+
expect(page).to have_content("Label can't be blank")
|
|
102
102
|
expect(page).to have_content("Amount is not a number")
|
|
103
103
|
end
|
|
104
104
|
end
|
|
@@ -61,7 +61,7 @@ describe "Customer Details", type: :feature, js: true do
|
|
|
61
61
|
|
|
62
62
|
it "displays an error" do
|
|
63
63
|
click_button "Update"
|
|
64
|
-
expect(page).to have_content
|
|
64
|
+
expect(page).to have_content I18n.t('spree.insufficient_stock_for_order')
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -121,14 +121,29 @@ describe "Customer Details", type: :feature, js: true do
|
|
|
121
121
|
expect(page).to have_content("Shipping address first name can't be blank")
|
|
122
122
|
end
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
124
|
+
context "for an order in confirm state with a user" do
|
|
125
|
+
let(:user) { order.user }
|
|
126
|
+
|
|
127
|
+
before do
|
|
128
|
+
order.update_columns(
|
|
129
|
+
ship_address_id: ship_address.id,
|
|
130
|
+
bill_address_id: bill_address.id,
|
|
131
|
+
state: "confirm",
|
|
132
|
+
completed_at: nil
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
it "updating order email works" do
|
|
137
|
+
click_link "Customer"
|
|
138
|
+
fill_in "order_email", with: "newemail@example.com"
|
|
139
|
+
click_button "Update"
|
|
140
|
+
expect(page).to have_content 'Customer Details Updated'
|
|
141
|
+
click_link "Customer"
|
|
142
|
+
expect(page).to have_field 'Customer E-Mail', with: order.reload.email
|
|
143
|
+
within '#order_user_link' do
|
|
144
|
+
expect(page).to have_link user.email
|
|
145
|
+
end
|
|
146
|
+
end
|
|
132
147
|
end
|
|
133
148
|
|
|
134
149
|
context "country associated was removed" do
|
|
@@ -61,11 +61,11 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
61
61
|
|
|
62
62
|
context "searching orders" do
|
|
63
63
|
context "when there are multiple stores" do
|
|
64
|
-
let(:stores) {
|
|
64
|
+
let(:stores) { FactoryBot.create_pair(:store) }
|
|
65
65
|
|
|
66
66
|
before do
|
|
67
67
|
stores.each do |store|
|
|
68
|
-
|
|
68
|
+
FactoryBot.create(:completed_order_with_totals, number: "R#{store.id}999", store: store)
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
@@ -73,7 +73,7 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
73
73
|
main_store, other_store = stores
|
|
74
74
|
|
|
75
75
|
click_on "Filter Results"
|
|
76
|
-
select main_store.name, from:
|
|
76
|
+
select main_store.name, from: I18n.t('spree.store')
|
|
77
77
|
click_on "Filter Results"
|
|
78
78
|
|
|
79
79
|
within_row(1) do
|
|
@@ -88,7 +88,7 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
88
88
|
context "when there's a single store" do
|
|
89
89
|
it "should be able to search orders" do
|
|
90
90
|
click_on "Filter Results"
|
|
91
|
-
fill_in "
|
|
91
|
+
fill_in "q_number_start", with: "R200"
|
|
92
92
|
click_on 'Filter Results'
|
|
93
93
|
within_row(1) do
|
|
94
94
|
expect(page).to have_content("R200")
|
|
@@ -100,7 +100,7 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
100
100
|
|
|
101
101
|
it "should be able to filter on variant_id" do
|
|
102
102
|
click_on "Filter Results"
|
|
103
|
-
select2_search @order1.products.first.sku, from:
|
|
103
|
+
select2_search @order1.products.first.sku, from: I18n.t('spree.variant')
|
|
104
104
|
click_on 'Filter Results'
|
|
105
105
|
|
|
106
106
|
within_row(1) do
|
|
@@ -139,9 +139,6 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
139
139
|
click_on "Filter Results"
|
|
140
140
|
fill_in "q_created_at_gt", with: Date.current
|
|
141
141
|
|
|
142
|
-
# Just so the datepicker gets out of poltergeists way.
|
|
143
|
-
page.execute_script("$('#q_created_at_gt').datepicker('widget').hide();")
|
|
144
|
-
|
|
145
142
|
click_on 'Filter Results'
|
|
146
143
|
within_row(1) { expect(page).to have_content("R100") }
|
|
147
144
|
|
|
@@ -161,7 +158,7 @@ describe "Orders Listing", type: :feature, js: true do
|
|
|
161
158
|
|
|
162
159
|
it "only shows the orders with the selected promotion" do
|
|
163
160
|
click_on "Filter Results"
|
|
164
|
-
fill_in "
|
|
161
|
+
fill_in "q_order_promotions_promotion_code_value_start", with: promotion.codes.first.value
|
|
165
162
|
click_on 'Filter Results'
|
|
166
163
|
within_row(1) { expect(page).to have_content("R100") }
|
|
167
164
|
within("table#listing_orders") { expect(page).not_to have_content("R200") }
|
|
@@ -24,6 +24,12 @@ describe "New Order", type: :feature do
|
|
|
24
24
|
expect(current_path).to eql(spree.edit_admin_order_customer_path(Spree::Order.last))
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
it "default line item quantity is 1", js: true do
|
|
28
|
+
within ".line-items" do
|
|
29
|
+
expect(page).to have_field 'quantity', with: '1'
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
27
33
|
it "completes new order succesfully without using the cart", js: true do
|
|
28
34
|
add_line_item product.name
|
|
29
35
|
|
|
@@ -146,7 +152,7 @@ describe "New Order", type: :feature do
|
|
|
146
152
|
click_on "Update"
|
|
147
153
|
|
|
148
154
|
# Automatically redirected to Shipments page
|
|
149
|
-
select2_search product.name, from:
|
|
155
|
+
select2_search product.name, from: I18n.t('spree.name_or_sku')
|
|
150
156
|
|
|
151
157
|
click_icon :plus
|
|
152
158
|
|
|
@@ -177,7 +183,7 @@ describe "New Order", type: :feature do
|
|
|
177
183
|
click_link "Customer"
|
|
178
184
|
targetted_select2 user.email, from: "#s2id_customer_search"
|
|
179
185
|
click_button "Update"
|
|
180
|
-
expect(
|
|
186
|
+
expect(page).to have_css('.order-state', text: 'Delivery')
|
|
181
187
|
end
|
|
182
188
|
end
|
|
183
189
|
|
|
@@ -6,12 +6,15 @@ describe "Order Details", type: :feature, js: true do
|
|
|
6
6
|
|
|
7
7
|
let!(:stock_location) { create(:stock_location_with_items) }
|
|
8
8
|
let!(:product) { create(:product, name: 'spree t-shirt', price: 20.00) }
|
|
9
|
-
let!(:tote) { create(:product, name: "Tote", price: 15.00) }
|
|
10
9
|
let(:order) { create(:order, state: 'complete', completed_at: "2011-02-01 12:36:15", number: "R100") }
|
|
11
10
|
let(:state) { create(:state) }
|
|
11
|
+
let(:line_item) { order.line_items.first }
|
|
12
|
+
|
|
13
|
+
let!(:shipment1) do
|
|
14
|
+
order.shipments.create(stock_location_id: stock_location.id)
|
|
15
|
+
end
|
|
12
16
|
|
|
13
17
|
before do
|
|
14
|
-
@shipment1 = order.shipments.create(stock_location_id: stock_location.id)
|
|
15
18
|
order.contents.add(product.master, 2)
|
|
16
19
|
# order.contents.add causes things (like line items & shipments) to get
|
|
17
20
|
# cached, and these are going to change during this spec so we go ahead and
|
|
@@ -23,8 +26,14 @@ describe "Order Details", type: :feature, js: true do
|
|
|
23
26
|
stub_authorization!
|
|
24
27
|
|
|
25
28
|
context "cart edit page" do
|
|
29
|
+
let(:track_inventory) { true }
|
|
30
|
+
let(:backorderable) { true }
|
|
31
|
+
let(:count_on_hand) { 100 }
|
|
32
|
+
|
|
26
33
|
before do
|
|
27
|
-
product.master.
|
|
34
|
+
product.master.update_columns(track_inventory: track_inventory)
|
|
35
|
+
product.master.stock_items.update_all(count_on_hand: count_on_hand, backorderable: backorderable)
|
|
36
|
+
|
|
28
37
|
visit spree.cart_admin_order_path(order)
|
|
29
38
|
end
|
|
30
39
|
|
|
@@ -32,7 +41,7 @@ describe "Order Details", type: :feature, js: true do
|
|
|
32
41
|
expect(page).to have_content("spree t-shirt")
|
|
33
42
|
expect(page).to have_content("$40.00")
|
|
34
43
|
|
|
35
|
-
|
|
44
|
+
within('tr', text: line_item.sku) do
|
|
36
45
|
click_icon :edit
|
|
37
46
|
fill_in "quantity", with: "1"
|
|
38
47
|
end
|
|
@@ -54,7 +63,7 @@ describe "Order Details", type: :feature, js: true do
|
|
|
54
63
|
it "can remove an item from a shipment" do
|
|
55
64
|
expect(page).to have_content("spree t-shirt")
|
|
56
65
|
|
|
57
|
-
|
|
66
|
+
within('tr', text: line_item.sku) do
|
|
58
67
|
accept_confirm "Are you sure you want to delete this record?" do
|
|
59
68
|
click_icon :trash
|
|
60
69
|
end
|
|
@@ -70,7 +79,7 @@ describe "Order Details", type: :feature, js: true do
|
|
|
70
79
|
it "can cancel removing an item from a shipment" do
|
|
71
80
|
expect(page).to have_content("spree t-shirt")
|
|
72
81
|
|
|
73
|
-
|
|
82
|
+
within('tr', text: line_item.sku) do
|
|
74
83
|
# Click "cancel" on confirmation dialog
|
|
75
84
|
dismiss_confirm "Are you sure you want to delete this record?" do
|
|
76
85
|
click_icon :trash
|
|
@@ -83,31 +92,48 @@ describe "Order Details", type: :feature, js: true do
|
|
|
83
92
|
it "can add tracking information" do
|
|
84
93
|
visit spree.edit_admin_order_path(order)
|
|
85
94
|
|
|
86
|
-
within("
|
|
95
|
+
within("tr", text: "Tracking Number") do
|
|
87
96
|
click_icon :edit
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
click_icon :check
|
|
97
|
+
fill_in "tracking", with: "FOOBAR"
|
|
98
|
+
click_icon :check
|
|
91
99
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
it "can change the shipping method" do
|
|
97
|
-
order = create(:completed_order_with_totals)
|
|
98
|
-
visit spree.edit_admin_order_path(order)
|
|
99
|
-
within("table.index tr.show-method") do
|
|
100
|
-
click_icon :edit
|
|
100
|
+
expect(page).not_to have_css("input")
|
|
101
|
+
expect(page).to have_content("Tracking Number FOOBAR")
|
|
101
102
|
end
|
|
102
|
-
select "UPS Ground $100.00", from: "selected_shipping_rate_id"
|
|
103
|
-
click_icon :check
|
|
104
|
-
|
|
105
|
-
expect(page).not_to have_css('#selected_shipping_rate_id')
|
|
106
|
-
expect(page).to have_content("UPS Ground")
|
|
107
103
|
end
|
|
108
104
|
|
|
109
105
|
context "with a completed order" do
|
|
110
106
|
let!(:order) { create(:completed_order_with_totals) }
|
|
107
|
+
let(:shipment1) { order.shipments[0] }
|
|
108
|
+
|
|
109
|
+
it "can change the shipping method" do
|
|
110
|
+
visit spree.edit_admin_order_path(order)
|
|
111
|
+
|
|
112
|
+
within("tr", text: "Shipping Method") do
|
|
113
|
+
click_icon :edit
|
|
114
|
+
select "UPS Ground $100.00"
|
|
115
|
+
click_icon :check
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
expect(page).not_to have_css('#selected_shipping_rate_id')
|
|
119
|
+
expect(page).to have_content("UPS Ground")
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
it "can use admin-only shipping methods" do
|
|
123
|
+
create(:shipping_method, name: "Admin Free Shipping", cost: 0, available_to_users: false)
|
|
124
|
+
|
|
125
|
+
visit spree.edit_admin_order_path(order)
|
|
126
|
+
|
|
127
|
+
within("tr", text: "Shipping Method") do
|
|
128
|
+
click_icon :edit
|
|
129
|
+
select "Admin Free Shipping $0.00"
|
|
130
|
+
click_icon :check
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
expect(page).not_to have_css('#selected_shipping_rate_id')
|
|
134
|
+
expect(page).to have_no_content("UPS Ground")
|
|
135
|
+
expect(page).to have_content("Admin Free Shipping")
|
|
136
|
+
end
|
|
111
137
|
|
|
112
138
|
it "will show the variant sku" do
|
|
113
139
|
visit spree.edit_admin_order_path(order)
|
|
@@ -125,26 +151,22 @@ describe "Order Details", type: :feature, js: true do
|
|
|
125
151
|
end
|
|
126
152
|
|
|
127
153
|
context "variant doesn't track inventory" do
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
tote.master.stock_items.update_all count_on_hand: 0, backorderable: false
|
|
132
|
-
end
|
|
154
|
+
let(:track_inventory) { false }
|
|
155
|
+
let(:backorderable) { false }
|
|
156
|
+
let(:count_on_hand) { 0 }
|
|
133
157
|
|
|
134
158
|
it "adds variant to order just fine" do
|
|
135
|
-
add_line_item
|
|
159
|
+
add_line_item "spree t-shirt"
|
|
136
160
|
|
|
137
161
|
within(".line-items") do
|
|
138
|
-
expect(page).to have_content(
|
|
162
|
+
expect(page).to have_content("spree t-shirt")
|
|
139
163
|
end
|
|
140
164
|
end
|
|
141
165
|
end
|
|
142
166
|
|
|
143
167
|
context "variant out of stock and not backorderable" do
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
product.master.stock_items.first.update_column(:count_on_hand, 0)
|
|
147
|
-
end
|
|
168
|
+
let(:backorderable) { false }
|
|
169
|
+
let(:count_on_hand) { 0 }
|
|
148
170
|
|
|
149
171
|
it "doesn't display the out of stock variant in the search results" do
|
|
150
172
|
click_on 'Add Item'
|
|
@@ -168,7 +190,6 @@ describe "Order Details", type: :feature, js: true do
|
|
|
168
190
|
end
|
|
169
191
|
|
|
170
192
|
context 'splitting to location' do
|
|
171
|
-
before { visit spree.edit_admin_order_path(order) }
|
|
172
193
|
# can not properly implement until poltergeist supports checking alert text
|
|
173
194
|
# see https://github.com/teampoltergeist/poltergeist/pull/516
|
|
174
195
|
it 'should warn you if you have not selected a location or shipment'
|
|
@@ -178,7 +199,9 @@ describe "Order Details", type: :feature, js: true do
|
|
|
178
199
|
expect(order.shipments.count).to eq(1)
|
|
179
200
|
expect(order.shipments.first.inventory_units_for(product.master).count).to eq(2)
|
|
180
201
|
|
|
181
|
-
|
|
202
|
+
visit spree.edit_admin_order_path(order)
|
|
203
|
+
|
|
204
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
182
205
|
complete_split_to(stock_location2)
|
|
183
206
|
|
|
184
207
|
expect(page).to have_css('.shipment', count: 2)
|
|
@@ -190,9 +213,11 @@ describe "Order Details", type: :feature, js: true do
|
|
|
190
213
|
end
|
|
191
214
|
|
|
192
215
|
it 'should allow me to make a transfer via splitting off all stock' do
|
|
216
|
+
visit spree.edit_admin_order_path(order)
|
|
217
|
+
|
|
193
218
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
|
194
219
|
|
|
195
|
-
|
|
220
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
196
221
|
complete_split_to(stock_location2, quantity: 2)
|
|
197
222
|
|
|
198
223
|
expect(page).to have_content("Pending package from 'Clarksville'")
|
|
@@ -204,9 +229,11 @@ describe "Order Details", type: :feature, js: true do
|
|
|
204
229
|
end
|
|
205
230
|
|
|
206
231
|
it 'should not allow me to split more than I had in the original shipment' do
|
|
232
|
+
visit spree.edit_admin_order_path(order)
|
|
233
|
+
|
|
207
234
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
|
208
235
|
|
|
209
|
-
|
|
236
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
210
237
|
complete_split_to(stock_location2, quantity: 5)
|
|
211
238
|
|
|
212
239
|
expect(page).to have_content("Pending package from 'Clarksville'")
|
|
@@ -218,9 +245,11 @@ describe "Order Details", type: :feature, js: true do
|
|
|
218
245
|
end
|
|
219
246
|
|
|
220
247
|
it 'should not allow less than or equal to zero qty' do
|
|
248
|
+
visit spree.edit_admin_order_path(order)
|
|
249
|
+
|
|
221
250
|
expect(order.shipments.first.stock_location.id).to eq(stock_location.id)
|
|
222
251
|
|
|
223
|
-
|
|
252
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
224
253
|
|
|
225
254
|
accept_alert "Quantity must be greater than 0" do
|
|
226
255
|
complete_split_to(stock_location2, quantity: 0)
|
|
@@ -243,7 +272,7 @@ describe "Order Details", type: :feature, js: true do
|
|
|
243
272
|
|
|
244
273
|
context 'A shipment has shipped' do
|
|
245
274
|
it 'should not show or let me back to the cart page, nor show the shipment edit buttons' do
|
|
246
|
-
order = create(:order, state: 'payment'
|
|
275
|
+
order = create(:order, state: 'payment')
|
|
247
276
|
order.shipments.create!(stock_location_id: stock_location.id, state: 'shipped')
|
|
248
277
|
|
|
249
278
|
visit spree.cart_admin_order_path(order)
|
|
@@ -262,10 +291,12 @@ describe "Order Details", type: :feature, js: true do
|
|
|
262
291
|
product.master.stock_items.last.update_column(:backorderable, false)
|
|
263
292
|
product.master.stock_items.last.update_column(:count_on_hand, 0)
|
|
264
293
|
|
|
265
|
-
|
|
266
|
-
complete_split_to(stock_location2, quantity: 2)
|
|
294
|
+
visit spree.edit_admin_order_path(order)
|
|
267
295
|
|
|
268
|
-
|
|
296
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
297
|
+
accept_alert "Desired shipment not enough stock in desired stock location" do
|
|
298
|
+
complete_split_to(stock_location2, quantity: 2)
|
|
299
|
+
end
|
|
269
300
|
|
|
270
301
|
expect(order.shipments.count).to eq(1)
|
|
271
302
|
expect(order.shipments.first.inventory_units_for(product.master).count).to eq(2)
|
|
@@ -278,7 +309,9 @@ describe "Order Details", type: :feature, js: true do
|
|
|
278
309
|
product.master.stock_items.last.update_column(:count_on_hand, 0)
|
|
279
310
|
product.master.stock_items.last.update_column(:backorderable, true)
|
|
280
311
|
|
|
281
|
-
|
|
312
|
+
visit spree.edit_admin_order_path(order)
|
|
313
|
+
|
|
314
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
282
315
|
complete_split_to(stock_location2, quantity: 2)
|
|
283
316
|
|
|
284
317
|
expect(page).to have_content("Pending package from 'Clarksville'")
|
|
@@ -295,10 +328,12 @@ describe "Order Details", type: :feature, js: true do
|
|
|
295
328
|
order.contents.add(create(:variant), 2)
|
|
296
329
|
order.reload
|
|
297
330
|
|
|
331
|
+
visit spree.edit_admin_order_path(order)
|
|
332
|
+
|
|
298
333
|
expect(order.shipments.count).to eq(1)
|
|
299
334
|
expect(order.shipments.first.manifest.count).to eq(2)
|
|
300
335
|
|
|
301
|
-
|
|
336
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
302
337
|
complete_split_to(stock_location2)
|
|
303
338
|
|
|
304
339
|
expect(page).to have_css('.shipment', count: 2)
|
|
@@ -312,14 +347,15 @@ describe "Order Details", type: :feature, js: true do
|
|
|
312
347
|
end
|
|
313
348
|
|
|
314
349
|
context 'removing an item' do
|
|
350
|
+
let!(:shipment2) { order.shipments.create(stock_location_id: stock_location2.id) }
|
|
351
|
+
|
|
315
352
|
it "removes only the one item" do
|
|
316
|
-
|
|
317
|
-
order.line_items[0].inventory_units[0].update!(shipment: @shipment2)
|
|
353
|
+
order.line_items[0].inventory_units[0].update!(shipment: shipment2)
|
|
318
354
|
visit spree.edit_admin_order_path(order)
|
|
319
355
|
|
|
320
356
|
expect(page).to have_css('.stock-item', count: 2)
|
|
321
357
|
|
|
322
|
-
within '[data-hook=admin_shipment_form]', text:
|
|
358
|
+
within '[data-hook=admin_shipment_form]', text: shipment2.number do
|
|
323
359
|
accept_confirm "Are you sure you want to delete this record?" do
|
|
324
360
|
click_icon :trash
|
|
325
361
|
end
|
|
@@ -330,20 +366,19 @@ describe "Order Details", type: :feature, js: true do
|
|
|
330
366
|
end
|
|
331
367
|
|
|
332
368
|
context 'splitting to shipment' do
|
|
333
|
-
|
|
334
|
-
@shipment2 = order.shipments.create(stock_location_id: stock_location2.id)
|
|
335
|
-
visit spree.edit_admin_order_path(order)
|
|
336
|
-
end
|
|
369
|
+
let!(:shipment2) { order.shipments.create(stock_location_id: stock_location2.id) }
|
|
337
370
|
|
|
338
371
|
it 'should delete the old shipment if enough are split off' do
|
|
339
372
|
expect(order.shipments.count).to eq(2)
|
|
340
373
|
|
|
341
|
-
|
|
342
|
-
|
|
374
|
+
visit spree.edit_admin_order_path(order)
|
|
375
|
+
|
|
376
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
377
|
+
complete_split_to(shipment2, quantity: 2)
|
|
343
378
|
|
|
344
379
|
expect(page).not_to have_content(/Move .* to/)
|
|
345
380
|
|
|
346
|
-
expect(page).to have_css("#shipment_#{
|
|
381
|
+
expect(page).to have_css("#shipment_#{shipment2.id}", count: 1)
|
|
347
382
|
|
|
348
383
|
expect(order.shipments.count).to eq(1)
|
|
349
384
|
expect(order.shipments.last.inventory_units_for(product.master).count).to eq(2)
|
|
@@ -354,18 +389,20 @@ describe "Order Details", type: :feature, js: true do
|
|
|
354
389
|
|
|
355
390
|
it 'should not allow a split if the receiving shipment qty plus the incoming is greater than the count_on_hand' do
|
|
356
391
|
expect(order.shipments.count).to eq(2)
|
|
392
|
+
|
|
393
|
+
visit spree.edit_admin_order_path(order)
|
|
357
394
|
expect(page).to have_css('.item-name', text: product.name, count: 1)
|
|
358
395
|
|
|
359
|
-
|
|
360
|
-
complete_split_to(
|
|
396
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
397
|
+
complete_split_to(shipment2, quantity: 1)
|
|
361
398
|
|
|
362
399
|
expect(page).to have_css('.item-name', text: product.name, count: 2)
|
|
363
400
|
|
|
364
401
|
within(all('.stock-contents', count: 2).first) do
|
|
365
|
-
|
|
402
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
366
403
|
|
|
367
404
|
accept_alert("Desired shipment not enough stock in desired stock location") do
|
|
368
|
-
complete_split_to(
|
|
405
|
+
complete_split_to(shipment2, quantity: 200)
|
|
369
406
|
end
|
|
370
407
|
end
|
|
371
408
|
|
|
@@ -375,21 +412,24 @@ describe "Order Details", type: :feature, js: true do
|
|
|
375
412
|
end
|
|
376
413
|
|
|
377
414
|
it 'should not allow a shipment to split stock to itself' do
|
|
378
|
-
|
|
415
|
+
visit spree.edit_admin_order_path(order)
|
|
416
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
379
417
|
click_on 'Choose location'
|
|
380
418
|
within '.select2-results' do
|
|
381
|
-
expect(page).to have_content(
|
|
382
|
-
expect(page).not_to have_content(
|
|
419
|
+
expect(page).to have_content(shipment2.number)
|
|
420
|
+
expect(page).not_to have_content(shipment1.number)
|
|
383
421
|
end
|
|
384
422
|
end
|
|
385
423
|
|
|
386
424
|
it 'should split fine if more than one line_item is in the receiving shipment' do
|
|
387
425
|
variant2 = create(:variant)
|
|
388
|
-
order.contents.add(variant2, 2, shipment:
|
|
426
|
+
order.contents.add(variant2, 2, shipment: shipment2)
|
|
389
427
|
order.reload
|
|
390
428
|
|
|
391
|
-
|
|
392
|
-
|
|
429
|
+
visit spree.edit_admin_order_path(order)
|
|
430
|
+
|
|
431
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
432
|
+
complete_split_to(shipment2, quantity: 1)
|
|
393
433
|
|
|
394
434
|
expect(page).not_to have_content(/Move .* to/)
|
|
395
435
|
expect(page).to have_css('.shipment', count: 2)
|
|
@@ -404,19 +444,21 @@ describe "Order Details", type: :feature, js: true do
|
|
|
404
444
|
|
|
405
445
|
context 'receiving shipment can backorder' do
|
|
406
446
|
it 'should add more to the backorder' do
|
|
407
|
-
|
|
447
|
+
shipment1.inventory_units.update_all(state: :on_hand)
|
|
408
448
|
product.master.stock_items.last.update_column(:backorderable, true)
|
|
409
449
|
product.master.stock_items.last.update_column(:count_on_hand, 0)
|
|
410
|
-
expect(
|
|
450
|
+
expect(shipment2.reload).not_to be_backordered
|
|
451
|
+
|
|
452
|
+
visit spree.edit_admin_order_path(order)
|
|
411
453
|
|
|
412
|
-
|
|
413
|
-
complete_split_to(
|
|
454
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
455
|
+
complete_split_to(shipment2, quantity: 1)
|
|
414
456
|
|
|
415
457
|
expect(page).to have_content("1 x Backordered")
|
|
416
458
|
|
|
417
459
|
within('.stock-contents', text: "1 x On hand") do
|
|
418
|
-
|
|
419
|
-
complete_split_to(
|
|
460
|
+
within('tr', text: line_item.sku) { click_icon 'arrows-h' }
|
|
461
|
+
complete_split_to(shipment2, quantity: 1)
|
|
420
462
|
end
|
|
421
463
|
|
|
422
464
|
# Empty shipment should be removed
|
|
@@ -508,10 +550,10 @@ describe "Order Details", type: :feature, js: true do
|
|
|
508
550
|
it "can change the shipping method" do
|
|
509
551
|
order = create(:completed_order_with_totals)
|
|
510
552
|
visit spree.edit_admin_order_path(order)
|
|
511
|
-
within("
|
|
553
|
+
within("tr", text: "Shipping Method") do
|
|
512
554
|
click_icon :edit
|
|
513
555
|
end
|
|
514
|
-
select "UPS Ground $100.00"
|
|
556
|
+
select "UPS Ground $100.00"
|
|
515
557
|
click_icon :check
|
|
516
558
|
|
|
517
559
|
expect(page).not_to have_css('#selected_shipping_rate_id')
|