solidus_backend 2.9.6 → 2.11.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_backend might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend.js +5 -1
- data/app/assets/javascripts/spree/backend/adjustments.js +1 -1
- data/app/assets/javascripts/spree/backend/admin.js +18 -29
- data/app/assets/javascripts/spree/backend/collections/states.js +1 -1
- data/app/assets/javascripts/spree/backend/components/admin_nav.js +24 -0
- data/app/assets/javascripts/spree/backend/components/selectable_table.js +5 -0
- data/app/assets/javascripts/spree/backend/components/selectable_table/return_items.js +5 -0
- data/app/assets/javascripts/spree/backend/components/selectable_table/summary.js +7 -0
- data/app/assets/javascripts/spree/backend/components/sortable_table.js +31 -25
- data/app/assets/javascripts/spree/backend/components/tabs.js +1 -1
- data/app/assets/javascripts/spree/backend/models/order.js +11 -2
- data/app/assets/javascripts/spree/backend/models/payment.js +1 -1
- data/app/assets/javascripts/spree/backend/models/shipment.js +1 -1
- data/app/assets/javascripts/spree/backend/models/stock_item.js +1 -1
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -2
- data/app/assets/javascripts/spree/backend/orders/cart.js +6 -0
- data/app/assets/javascripts/spree/backend/product_picker.js +2 -2
- data/app/assets/javascripts/spree/backend/routes.js +40 -21
- data/app/assets/javascripts/spree/backend/shipments.js +5 -67
- data/app/assets/javascripts/spree/backend/shipping_methods/stock_locations_picker.js +18 -0
- data/app/assets/javascripts/spree/backend/stock_management.js +4 -2
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/taxons.js +3 -3
- data/app/assets/javascripts/spree/backend/templates/index.js +2 -1
- data/app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs +2 -2
- data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +5 -1
- data/app/assets/javascripts/spree/backend/templates/tables/return_item_sum_amount.hbs +7 -0
- data/app/assets/javascripts/spree/backend/templates/tables/selectable_label.hbs +6 -0
- data/app/assets/javascripts/spree/backend/user_picker.js +3 -4
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js +2 -2
- data/app/assets/javascripts/spree/backend/views/cart/empty_cart_button.js +29 -0
- data/app/assets/javascripts/spree/backend/views/cart/line_item_table.js +5 -0
- data/app/assets/javascripts/spree/backend/views/index.js +5 -0
- data/app/assets/javascripts/spree/backend/views/order/address.js +8 -6
- data/app/assets/javascripts/spree/backend/views/order/customer_select.js +2 -3
- data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +4 -1
- data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +4 -0
- data/app/assets/javascripts/spree/backend/views/tables/return_items.js +9 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table.js +70 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js +32 -0
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table/summary.js +45 -0
- data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +2 -0
- data/app/assets/stylesheets/spree/backend/components/_breadcrumb.scss +3 -3
- data/app/assets/stylesheets/spree/backend/components/_messages.scss +4 -0
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +181 -49
- data/app/assets/stylesheets/spree/backend/globals/{_mixins.css → _mixins.scss} +0 -0
- data/app/assets/stylesheets/spree/backend/globals/_variables.scss +2 -0
- data/app/assets/stylesheets/spree/backend/sections/_orders.scss +5 -1
- data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +4 -0
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -0
- data/app/assets/stylesheets/spree/backend/shared/_header.scss +5 -1
- data/app/assets/stylesheets/spree/backend/shared/_layout.scss +0 -9
- data/app/controllers/spree/admin/adjustments_controller.rb +1 -1
- data/app/controllers/spree/admin/base_controller.rb +7 -1
- data/app/controllers/spree/admin/cancellations_controller.rb +2 -0
- data/app/controllers/spree/admin/customer_returns_controller.rb +4 -4
- data/app/controllers/spree/admin/images_controller.rb +2 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -0
- data/app/controllers/spree/admin/orders_controller.rb +9 -4
- data/app/controllers/spree/admin/payment_methods_controller.rb +4 -4
- data/app/controllers/spree/admin/payments_controller.rb +5 -3
- data/app/controllers/spree/admin/product_properties_controller.rb +2 -2
- data/app/controllers/spree/admin/products_controller.rb +19 -25
- data/app/controllers/spree/admin/promotion_codes_controller.rb +9 -4
- data/app/controllers/spree/admin/refunds_controller.rb +19 -0
- data/app/controllers/spree/admin/resource_controller.rb +39 -10
- data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
- data/app/controllers/spree/admin/root_controller.rb +1 -1
- data/app/controllers/spree/admin/search_controller.rb +1 -2
- data/app/controllers/spree/admin/stock_items_controller.rb +6 -5
- data/app/controllers/spree/admin/stock_locations_controller.rb +4 -0
- data/app/controllers/spree/admin/stock_movements_controller.rb +7 -0
- data/app/controllers/spree/admin/style_guide_controller.rb +1 -1
- data/app/controllers/spree/admin/taxons/attachment_controller.rb +20 -0
- data/app/controllers/spree/admin/taxons_controller.rb +12 -1
- data/app/controllers/spree/admin/users/api_key_controller.rb +29 -0
- data/app/controllers/spree/admin/users_controller.rb +43 -22
- data/app/controllers/spree/admin/variants_controller.rb +4 -2
- data/app/controllers/spree/admin/zones_controller.rb +1 -1
- data/app/helpers/spree/admin/base_helper.rb +4 -0
- data/app/helpers/spree/admin/customer_returns_helper.rb +1 -1
- data/app/helpers/spree/admin/navigation_helper.rb +4 -3
- data/app/helpers/spree/admin/orders_helper.rb +8 -4
- data/app/helpers/spree/admin/stock_movements_helper.rb +8 -4
- data/app/helpers/spree/promotion_rules_helper.rb +1 -1
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -3
- data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
- data/app/views/spree/admin/images/index.html.erb +25 -21
- data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -1
- data/app/views/spree/admin/option_types/edit.html.erb +4 -2
- data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +1 -0
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +13 -13
- data/app/views/spree/admin/orders/edit.html.erb +3 -4
- data/app/views/spree/admin/orders/index.html.erb +23 -13
- data/app/views/spree/admin/payment_methods/_form.html.erb +7 -2
- data/app/views/spree/admin/payment_methods/new.html.erb +1 -1
- data/app/views/spree/admin/payments/index.html.erb +3 -1
- data/app/views/spree/admin/prices/_master_variant_table.html.erb +41 -41
- data/app/views/spree/admin/prices/_table.html.erb +3 -3
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +7 -2
- data/app/views/spree/admin/product_properties/index.html.erb +14 -2
- data/app/views/spree/admin/products/_form.html.erb +13 -2
- data/app/views/spree/admin/products/index.html.erb +1 -1
- 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/promotion_codes/new.html.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +2 -1
- data/app/views/spree/admin/promotions/_activations_new.html.erb +1 -1
- data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
- data/app/views/spree/admin/promotions/edit.html.erb +2 -2
- data/app/views/spree/admin/promotions/index.html.erb +13 -6
- data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -10
- data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
- data/app/views/spree/admin/return_authorizations/new.html.erb +1 -1
- data/app/views/spree/admin/search/users.json.jbuilder +15 -1
- data/app/views/spree/admin/shared/_address.html.erb +6 -6
- data/app/views/spree/admin/shared/_address_form.html.erb +15 -8
- data/app/views/spree/admin/shared/_calculator_fields.html.erb +5 -0
- data/app/views/spree/admin/shared/_navigation.html.erb +3 -0
- data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
- data/app/views/spree/admin/shared/_order_submenu.html.erb +6 -6
- data/app/views/spree/admin/shared/_payments_tabs.html.erb +1 -1
- data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +5 -5
- data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +7 -7
- data/app/views/spree/admin/shared/_shipping_tabs.html.erb +3 -3
- data/app/views/spree/admin/shared/_taxes_tabs.html.erb +2 -2
- data/app/views/spree/admin/shared/preference_fields/_encrypted_string.html.erb +12 -0
- data/app/views/spree/admin/shipping_methods/_form.html.erb +19 -1
- data/app/views/spree/admin/stock_items/_stock_management.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
- data/app/views/spree/admin/stock_locations/index.html.erb +4 -2
- data/app/views/spree/admin/stock_movements/index.html.erb +30 -1
- data/app/views/spree/admin/store_credit_reasons/index.html.erb +1 -1
- data/app/views/spree/admin/store_credits/index.html.erb +1 -1
- data/app/views/spree/admin/stores/_form.html.erb +6 -0
- data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +27 -3
- data/app/views/spree/admin/tax_categories/_form.html.erb +1 -0
- data/app/views/spree/admin/tax_rates/_form.html.erb +1 -1
- data/app/views/spree/admin/taxonomies/new.html.erb +1 -1
- data/app/views/spree/admin/taxons/_form.html.erb +1 -5
- data/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb +16 -0
- data/app/views/spree/admin/users/_form.html.erb +14 -12
- data/app/views/spree/admin/users/_tabs.html.erb +1 -1
- data/app/views/spree/admin/users/edit.html.erb +5 -6
- data/app/views/spree/admin/users/items.html.erb +5 -3
- data/app/views/spree/admin/users/orders.html.erb +5 -3
- data/app/views/spree/admin/variants/_table_filter.html.erb +1 -1
- data/app/views/spree/admin/variants/index.html.erb +2 -2
- data/app/views/spree/layouts/admin.html.erb +1 -2
- data/config/initializers/form_builder.rb +2 -2
- data/config/routes.rb +4 -6
- data/lib/spree/backend.rb +1 -0
- data/lib/spree/backend/config.rb +9 -0
- data/lib/spree/backend/engine.rb +5 -5
- data/{app/models → lib}/spree/backend_configuration.rb +19 -3
- data/solidus_backend.gemspec +5 -4
- data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +1 -1
- metadata +44 -124
- data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +0 -35
- data/app/assets/javascripts/spree/backend/templates/variants/autocomplete_stock.hbs +0 -56
- data/app/views/spree/admin/orders/_add_product.html.erb +0 -12
- data/script/rails +0 -10
- data/spec/controllers/spree/admin/base_controller_spec.rb +0 -26
- data/spec/controllers/spree/admin/cancellations_controller_spec.rb +0 -83
- data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +0 -235
- data/spec/controllers/spree/admin/locale_controller_spec.rb +0 -45
- data/spec/controllers/spree/admin/missing_products_controller_spec.rb +0 -18
- data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -128
- data/spec/controllers/spree/admin/orders_controller_spec.rb +0 -408
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +0 -95
- data/spec/controllers/spree/admin/payments_controller_spec.rb +0 -194
- data/spec/controllers/spree/admin/prices_controller_spec.rb +0 -45
- data/spec/controllers/spree/admin/product_properties_controller_spec.rb +0 -71
- data/spec/controllers/spree/admin/products_controller_spec.rb +0 -270
- data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +0 -23
- data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +0 -32
- data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +0 -36
- data/spec/controllers/spree/admin/promotions_controller_spec.rb +0 -122
- data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -35
- data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +0 -137
- data/spec/controllers/spree/admin/resource_controller_spec.rb +0 -190
- data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +0 -291
- data/spec/controllers/spree/admin/return_items_controller_spec.rb +0 -29
- data/spec/controllers/spree/admin/root_controller_spec.rb +0 -43
- data/spec/controllers/spree/admin/search_controller_spec.rb +0 -106
- data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +0 -16
- data/spec/controllers/spree/admin/stock_items_controller_spec.rb +0 -52
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +0 -44
- data/spec/controllers/spree/admin/store_credits_controller_spec.rb +0 -311
- data/spec/controllers/spree/admin/users_controller_spec.rb +0 -264
- data/spec/controllers/spree/admin/variants_controller_spec.rb +0 -71
- data/spec/features/admin/configuration/payment_methods_spec.rb +0 -167
- data/spec/features/admin/configuration/shipping_methods_spec.rb +0 -114
- data/spec/features/admin/configuration/stock_locations_spec.rb +0 -54
- data/spec/features/admin/configuration/store_spec.rb +0 -62
- data/spec/features/admin/configuration/tax_categories_spec.rb +0 -58
- data/spec/features/admin/configuration/tax_rates_spec.rb +0 -31
- data/spec/features/admin/configuration/taxonomies_spec.rb +0 -54
- data/spec/features/admin/configuration/zones_spec.rb +0 -41
- data/spec/features/admin/homepage_spec.rb +0 -86
- data/spec/features/admin/javascript_format_money_spec.rb +0 -22
- data/spec/features/admin/locale_spec.rb +0 -34
- data/spec/features/admin/orders/adjustments_promotions_spec.rb +0 -55
- data/spec/features/admin/orders/adjustments_spec.rb +0 -130
- data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +0 -45
- data/spec/features/admin/orders/cancelling_inventory_spec.rb +0 -50
- data/spec/features/admin/orders/customer_details_spec.rb +0 -204
- data/spec/features/admin/orders/customer_returns_spec.rb +0 -28
- data/spec/features/admin/orders/line_items_spec.rb +0 -52
- data/spec/features/admin/orders/listing_spec.rb +0 -186
- data/spec/features/admin/orders/log_entries_spec.rb +0 -56
- data/spec/features/admin/orders/new_order_spec.rb +0 -331
- data/spec/features/admin/orders/new_refund_spec.rb +0 -35
- data/spec/features/admin/orders/order_details_spec.rb +0 -581
- data/spec/features/admin/orders/payments_spec.rb +0 -330
- data/spec/features/admin/orders/return_authorizations_spec.rb +0 -27
- data/spec/features/admin/orders/return_payment_state_spec.rb +0 -65
- data/spec/features/admin/orders/risk_analysis_spec.rb +0 -49
- data/spec/features/admin/orders/shipments_spec.rb +0 -145
- data/spec/features/admin/payments/store_credits_spec.rb +0 -23
- data/spec/features/admin/products/edit/images_spec.rb +0 -76
- data/spec/features/admin/products/edit/products_spec.rb +0 -92
- data/spec/features/admin/products/edit/taxons_spec.rb +0 -51
- data/spec/features/admin/products/edit/variants_spec.rb +0 -63
- data/spec/features/admin/products/option_types_spec.rb +0 -116
- data/spec/features/admin/products/pricing_spec.rb +0 -127
- data/spec/features/admin/products/products_spec.rb +0 -336
- data/spec/features/admin/products/properties_spec.rb +0 -141
- data/spec/features/admin/products/stock_management_spec.rb +0 -101
- data/spec/features/admin/products/variant_spec.rb +0 -89
- data/spec/features/admin/promotion_adjustments_spec.rb +0 -277
- data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -90
- data/spec/features/admin/promotions/product_rule_spec.rb +0 -35
- data/spec/features/admin/promotions/promotion_categories_spec.rb +0 -83
- data/spec/features/admin/promotions/promotion_spec.rb +0 -52
- data/spec/features/admin/promotions/tiered_calculator_spec.rb +0 -76
- data/spec/features/admin/promotions/user_rule_spec.rb +0 -42
- data/spec/features/admin/reimbursements_spec.rb +0 -18
- data/spec/features/admin/store_credits_spec.rb +0 -132
- data/spec/features/admin/stores_spec.rb +0 -37
- data/spec/features/admin/style_guide_spec.rb +0 -14
- data/spec/features/admin/taxons_spec.rb +0 -78
- data/spec/features/admin/users_spec.rb +0 -402
- data/spec/helpers/admin/base_helper_spec.rb +0 -49
- data/spec/helpers/admin/navigation_helper_spec.rb +0 -139
- data/spec/helpers/admin/stock_movements_helper_spec.rb +0 -29
- data/spec/helpers/admin/store_credit_events_helper_spec.rb +0 -97
- data/spec/helpers/promotion_rules_helper_spec.rb +0 -14
- data/spec/javascripts/fixtures/_boot.html.erb +0 -8
- data/spec/javascripts/fixtures/number_with_currency/with_currency_select.html.erb +0 -3
- data/spec/javascripts/fixtures/number_with_currency/without_select.html.erb +0 -3
- data/spec/javascripts/format_money_spec.js +0 -48
- data/spec/javascripts/spec_helper.js +0 -13
- data/spec/javascripts/support/show_errors.js +0 -8
- data/spec/javascripts/support/with_translations.js +0 -11
- data/spec/javascripts/translation_spec.js +0 -58
- data/spec/javascripts/views/number_with_currency_spec.js +0 -72
- data/spec/models/spree/backend_configuration/menu_item_spec.rb +0 -17
- data/spec/models/spree/backend_configuration_spec.rb +0 -22
- data/spec/spec_helper.rb +0 -122
- data/spec/support/appear_before_matcher.rb +0 -10
- data/spec/support/feature/base_feature_helper.rb +0 -12
- data/spec/support/feature/order_feature_helper.rb +0 -27
- data/spec/support/ror_ringer.jpeg +0 -0
- data/spec/teaspoon_env.rb +0 -51
- data/spec/test_views/spree/admin/widgets/edit.html.erb +0 -1
- data/spec/test_views/spree/admin/widgets/new.html.erb +0 -1
- data/spec/views/spree/admin/shared/navigation_footer_spec.rb +0 -67
@@ -1,72 +0,0 @@
|
|
1
|
-
fixture.preload("number_with_currency/with_currency_select", "number_with_currency/without_select");
|
2
|
-
|
3
|
-
describe("Spree.Views.NumberWithCurrency", function() {
|
4
|
-
var view, $el;
|
5
|
-
var $symbol, $input, $select, $addon;
|
6
|
-
|
7
|
-
var loadFixture = function(path) {
|
8
|
-
var fixtures = fixture.load(path, true);
|
9
|
-
$el = $(fixtures[0]);
|
10
|
-
}
|
11
|
-
|
12
|
-
var loadView = function() {
|
13
|
-
view = new Spree.Views.NumberWithCurrency({el: $el});
|
14
|
-
view.render();
|
15
|
-
$symbol = $el.find('.number-with-currency-symbol');
|
16
|
-
$input = $el.find('input');
|
17
|
-
$select = $el.find('select');
|
18
|
-
$addon = $el.find('.number-with-currency-addon');
|
19
|
-
}
|
20
|
-
|
21
|
-
describe("with currency selector", function() {
|
22
|
-
beforeEach(function() {
|
23
|
-
loadFixture("number_with_currency/with_currency_select");
|
24
|
-
loadView();
|
25
|
-
});
|
26
|
-
|
27
|
-
it("has a default currency selected", function() {
|
28
|
-
expect($select).to.have.$val('USD');
|
29
|
-
expect($symbol).to.have.$text('$');
|
30
|
-
});
|
31
|
-
|
32
|
-
it("can select CAD", function() {
|
33
|
-
$select.val('CAD').trigger('change');
|
34
|
-
|
35
|
-
expect($select).to.have.$val('CAD');
|
36
|
-
expect($symbol).to.have.$text('$');
|
37
|
-
});
|
38
|
-
|
39
|
-
it("can select GBP", function() {
|
40
|
-
$select.val('GBP').trigger('change');
|
41
|
-
|
42
|
-
expect($select).to.have.$val('GBP');
|
43
|
-
expect($symbol).to.have.$text('£');
|
44
|
-
});
|
45
|
-
|
46
|
-
it("can select JPY", function() {
|
47
|
-
$select.val('JPY').trigger('change');
|
48
|
-
|
49
|
-
expect($select).to.have.$val('JPY');
|
50
|
-
expect($symbol).to.have.$text('¥');
|
51
|
-
});
|
52
|
-
});
|
53
|
-
|
54
|
-
describe("without currency selector", function() {
|
55
|
-
beforeEach(function() {
|
56
|
-
loadFixture("number_with_currency/without_select");
|
57
|
-
loadView();
|
58
|
-
});
|
59
|
-
|
60
|
-
it("uses USD format", function() {
|
61
|
-
$el.find('[data-currency]').data('currency', 'USD');
|
62
|
-
view.render();
|
63
|
-
expect($symbol).to.have.$text('$');
|
64
|
-
});
|
65
|
-
|
66
|
-
it("uses JPY format", function() {
|
67
|
-
$el.find('[data-currency]').data('currency', 'JPY');
|
68
|
-
view.render();
|
69
|
-
expect($symbol).to.have.$text('¥');
|
70
|
-
});
|
71
|
-
});
|
72
|
-
});
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe Spree::BackendConfiguration::MenuItem do
|
6
|
-
describe '#match_path' do
|
7
|
-
subject do
|
8
|
-
described_class.new([], nil, {
|
9
|
-
match_path: '/stock_items'
|
10
|
-
}).match_path
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'can be read' do
|
14
|
-
is_expected.to eq('/stock_items')
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe Spree::BackendConfiguration do
|
6
|
-
describe '#menu_items' do
|
7
|
-
subject do
|
8
|
-
described_class.new.menu_items
|
9
|
-
end
|
10
|
-
|
11
|
-
describe 'menu tab for stock items' do
|
12
|
-
let(:stock_menu_item) do
|
13
|
-
subject.detect { |item| item.label == :stock }
|
14
|
-
end
|
15
|
-
|
16
|
-
# Regression for https://github.com/solidusio/solidus/issues/2950
|
17
|
-
it 'has match_path set to /stock_items' do
|
18
|
-
expect(stock_menu_item.match_path).to eq('/stock_items')
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
if ENV["COVERAGE"]
|
4
|
-
require 'simplecov'
|
5
|
-
SimpleCov.start('rails')
|
6
|
-
end
|
7
|
-
|
8
|
-
# This file is copied to ~/spec when you run 'ruby script/generate rspec'
|
9
|
-
# from the project root directory.
|
10
|
-
ENV["RAILS_ENV"] ||= 'test'
|
11
|
-
|
12
|
-
require 'solidus_backend'
|
13
|
-
require 'spree/testing_support/dummy_app'
|
14
|
-
DummyApp.setup(
|
15
|
-
gem_root: File.expand_path('..', __dir__),
|
16
|
-
lib_name: 'solidus_backend'
|
17
|
-
)
|
18
|
-
|
19
|
-
require 'rails-controller-testing'
|
20
|
-
require 'rspec-activemodel-mocks'
|
21
|
-
require 'rspec/rails'
|
22
|
-
|
23
|
-
# Requires supporting files with custom matchers and macros, etc,
|
24
|
-
# in ./support/ and its subdirectories.
|
25
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
26
|
-
|
27
|
-
require 'database_cleaner'
|
28
|
-
require 'with_model'
|
29
|
-
|
30
|
-
require 'spree/testing_support/partial_double_verification'
|
31
|
-
require 'spree/testing_support/authorization_helpers'
|
32
|
-
require 'spree/testing_support/factories'
|
33
|
-
require 'spree/testing_support/preferences'
|
34
|
-
require 'spree/testing_support/controller_requests'
|
35
|
-
require 'spree/testing_support/flash'
|
36
|
-
require 'spree/testing_support/url_helpers'
|
37
|
-
require 'spree/testing_support/order_walkthrough'
|
38
|
-
require 'spree/testing_support/capybara_ext'
|
39
|
-
|
40
|
-
require 'capybara-screenshot/rspec'
|
41
|
-
Capybara.save_path = ENV['CIRCLE_ARTIFACTS'] if ENV['CIRCLE_ARTIFACTS']
|
42
|
-
Capybara.exact = true
|
43
|
-
|
44
|
-
require "selenium/webdriver"
|
45
|
-
|
46
|
-
Capybara.register_driver :selenium_chrome_headless do |app|
|
47
|
-
browser_options = ::Selenium::WebDriver::Chrome::Options.new
|
48
|
-
browser_options.args << '--headless'
|
49
|
-
browser_options.args << '--disable-gpu'
|
50
|
-
browser_options.args << '--window-size=1920,1080'
|
51
|
-
Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options)
|
52
|
-
end
|
53
|
-
|
54
|
-
Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :selenium_chrome_headless).to_sym
|
55
|
-
|
56
|
-
ActionView::Base.raise_on_missing_translations = true
|
57
|
-
|
58
|
-
Capybara.default_max_wait_time = ENV['DEFAULT_MAX_WAIT_TIME'].to_f if ENV['DEFAULT_MAX_WAIT_TIME'].present?
|
59
|
-
|
60
|
-
ActiveJob::Base.queue_adapter = :test
|
61
|
-
|
62
|
-
RSpec.configure do |config|
|
63
|
-
config.color = true
|
64
|
-
config.infer_spec_type_from_file_location!
|
65
|
-
config.expect_with :rspec do |c|
|
66
|
-
c.syntax = :expect
|
67
|
-
end
|
68
|
-
config.mock_with :rspec do |c|
|
69
|
-
c.syntax = :expect
|
70
|
-
end
|
71
|
-
|
72
|
-
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
73
|
-
# examples within a transaction, comment the following line or assign false
|
74
|
-
# instead of true.
|
75
|
-
config.use_transactional_fixtures = true
|
76
|
-
|
77
|
-
config.before :suite do
|
78
|
-
DatabaseCleaner.clean_with :truncation
|
79
|
-
end
|
80
|
-
|
81
|
-
config.when_first_matching_example_defined(type: :feature) do
|
82
|
-
config.before :suite do
|
83
|
-
# Preload assets
|
84
|
-
# This should avoid capybara timeouts, and avoid counting asset compilation
|
85
|
-
# towards the timing of the first feature spec.
|
86
|
-
Rails.application.precompiled_assets
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
config.before do
|
91
|
-
Rails.cache.clear
|
92
|
-
if RSpec.current_example.metadata[:js] && page.driver.browser.respond_to?(:url_blacklist)
|
93
|
-
page.driver.browser.url_blacklist = ['http://fonts.googleapis.com']
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
config.include BaseFeatureHelper, type: :feature
|
98
|
-
|
99
|
-
config.after(:each, type: :feature) do |example|
|
100
|
-
missing_translations = page.body.scan(/translation missing: #{I18n.locale}\.(.*?)[\s<\"&]/)
|
101
|
-
if missing_translations.any?
|
102
|
-
puts "Found missing translations: #{missing_translations.inspect}"
|
103
|
-
puts "In spec: #{example.location}"
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
config.include FactoryBot::Syntax::Methods
|
108
|
-
config.include ActiveJob::TestHelper
|
109
|
-
|
110
|
-
config.include Spree::TestingSupport::Preferences
|
111
|
-
config.include Spree::TestingSupport::UrlHelpers
|
112
|
-
config.include Spree::TestingSupport::ControllerRequests, type: :controller
|
113
|
-
config.include Spree::TestingSupport::Flash
|
114
|
-
|
115
|
-
config.extend WithModel
|
116
|
-
|
117
|
-
config.example_status_persistence_file_path = "./spec/examples.txt"
|
118
|
-
|
119
|
-
config.order = :random
|
120
|
-
|
121
|
-
Kernel.srand config.seed
|
122
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'rspec/expectations'
|
4
|
-
|
5
|
-
RSpec::Matchers.define :appear_before do |expected|
|
6
|
-
match do |actual|
|
7
|
-
raise "Page instance required to use the appear_before matcher" unless page
|
8
|
-
has_text? /#{actual}.*#{expected}/
|
9
|
-
end
|
10
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BaseFeatureHelper
|
4
|
-
def click_nav(nav_text, subnav_text = nil)
|
5
|
-
primary_nav = find(".admin-nav-menu>ul>li>a", text: /#{nav_text}/i)
|
6
|
-
if subnav_text
|
7
|
-
primary_nav.find('+ul>li>a', text: /#{subnav_text}/i).click
|
8
|
-
else
|
9
|
-
primary_nav.click
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module OrderFeatureHelper
|
4
|
-
def add_line_item(product_name, quantity: 1)
|
5
|
-
find(".js-add-line-item:not([disabled]), .line-item [name=quantity]").click
|
6
|
-
|
7
|
-
targetted_select2_search product_name, from: ".select-variant"
|
8
|
-
fill_in "quantity", with: quantity
|
9
|
-
click_icon 'ok'
|
10
|
-
end
|
11
|
-
|
12
|
-
def complete_split_to(destination, quantity: nil)
|
13
|
-
if destination.is_a?(Spree::Shipment)
|
14
|
-
destination = destination.number
|
15
|
-
elsif destination.is_a?(Spree::StockLocation)
|
16
|
-
destination = destination.name
|
17
|
-
end
|
18
|
-
|
19
|
-
select2_no_label(destination, from: 'Choose Location')
|
20
|
-
|
21
|
-
if quantity
|
22
|
-
fill_in 'item_quantity', with: quantity
|
23
|
-
end
|
24
|
-
|
25
|
-
click_icon :ok
|
26
|
-
end
|
27
|
-
end
|
Binary file
|
data/spec/teaspoon_env.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
ENV['RAILS_ENV'] = 'test'
|
4
|
-
|
5
|
-
require 'teaspoon/driver/selenium'
|
6
|
-
|
7
|
-
# Similar to setup described in
|
8
|
-
# https://github.com/jejacks0n/teaspoon/wiki/Micro-Applications
|
9
|
-
|
10
|
-
if defined?(DummyApp)
|
11
|
-
DummyApp::Migrations.auto_migrate
|
12
|
-
|
13
|
-
require 'teaspoon-mocha'
|
14
|
-
|
15
|
-
Teaspoon.configure do |config|
|
16
|
-
config.mount_at = "/teaspoon"
|
17
|
-
config.root = Spree::Backend::Engine.root
|
18
|
-
config.asset_paths = ["spec/javascripts", "spec/javascripts/stylesheets"]
|
19
|
-
config.fixture_paths = ["spec/javascripts/fixtures"]
|
20
|
-
|
21
|
-
config.driver = :selenium
|
22
|
-
config.driver_options = {
|
23
|
-
client_driver: :chrome,
|
24
|
-
selenium_options: {
|
25
|
-
options: Selenium::WebDriver::Chrome::Options.new(
|
26
|
-
args: %w(headless disable-gpu window-size=1920,1440),
|
27
|
-
),
|
28
|
-
},
|
29
|
-
}
|
30
|
-
|
31
|
-
config.suite do |suite|
|
32
|
-
suite.use_framework :mocha, "2.3.3"
|
33
|
-
suite.matcher = "{spec/javascripts,app/assets}/**/*_spec.{js,js.coffee,coffee}"
|
34
|
-
suite.helper = "spec_helper"
|
35
|
-
suite.boot_partial = "/boot"
|
36
|
-
suite.expand_assets = true
|
37
|
-
end
|
38
|
-
end
|
39
|
-
else
|
40
|
-
require 'solidus_backend'
|
41
|
-
|
42
|
-
require 'teaspoon'
|
43
|
-
|
44
|
-
require 'spree/testing_support/dummy_app'
|
45
|
-
|
46
|
-
DummyApp.setup(
|
47
|
-
gem_root: File.expand_path('..', __dir__),
|
48
|
-
lib_name: 'solidus_backend',
|
49
|
-
auto_migrate: false
|
50
|
-
)
|
51
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
edit
|
@@ -1 +0,0 @@
|
|
1
|
-
new
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe "spree/admin/shared/_navigation_footer", type: :view, partial_double_verification: false do
|
6
|
-
let(:user) { FactoryBot.build_stubbed(:admin_user) }
|
7
|
-
let(:ability) { Object.new.extend(CanCan::Ability) }
|
8
|
-
before do
|
9
|
-
allow(view).to receive(:try_spree_current_user).and_return(user)
|
10
|
-
allow(controller).to receive(:current_ability).and_return(ability)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "has a a login-nav section" do
|
14
|
-
render
|
15
|
-
expect(rendered).to have_selector("#login-nav")
|
16
|
-
end
|
17
|
-
|
18
|
-
context "authorized user" do
|
19
|
-
before do
|
20
|
-
ability.can :admin, user
|
21
|
-
end
|
22
|
-
|
23
|
-
it "has a user-account-link that links to edit_admin_user_path" do
|
24
|
-
render
|
25
|
-
expect(rendered).to have_link(user.email, href: Spree::Core::Engine.routes.url_helpers.edit_admin_user_path(user))
|
26
|
-
end
|
27
|
-
|
28
|
-
it "has not a user-account-link that links to admin_path" do
|
29
|
-
render
|
30
|
-
expect(rendered).to_not have_link(user.email, href: Spree::Core::Engine.routes.url_helpers.admin_path)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
context "unauthorized user" do
|
35
|
-
it "has a user-account-link that links to admin_path" do
|
36
|
-
render
|
37
|
-
expect(rendered).to_not have_link(user.email, href: Spree::Core::Engine.routes.url_helpers.admin_path)
|
38
|
-
end
|
39
|
-
|
40
|
-
it "has not a user-account-link that links to edit_admin_user_path" do
|
41
|
-
render
|
42
|
-
expect(rendered).to_not have_link(user.email, href: Spree::Core::Engine.routes.url_helpers.edit_admin_user_path(user))
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context "with a required spree_logout_path helper" do
|
47
|
-
before do
|
48
|
-
allow(view).to receive(:spree_logout_path).and_return("/logout")
|
49
|
-
end
|
50
|
-
|
51
|
-
it "has user-logout-link" do
|
52
|
-
render
|
53
|
-
expect(rendered).to have_link(I18n.t('spree.logout'), href: "/logout")
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
context "with a spree.root_path" do
|
58
|
-
before do
|
59
|
-
allow(view.spree).to receive("root_path").and_return("/")
|
60
|
-
end
|
61
|
-
|
62
|
-
it "has a back to store link" do
|
63
|
-
render
|
64
|
-
expect(rendered).to have_link(I18n.t('spree.back_to_store'), href: "/")
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|