solidus_backend 2.9.6 → 2.11.0

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.
Files changed (270) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend.js +5 -1
  3. data/app/assets/javascripts/spree/backend/adjustments.js +1 -1
  4. data/app/assets/javascripts/spree/backend/admin.js +18 -29
  5. data/app/assets/javascripts/spree/backend/collections/states.js +1 -1
  6. data/app/assets/javascripts/spree/backend/components/admin_nav.js +24 -0
  7. data/app/assets/javascripts/spree/backend/components/selectable_table.js +5 -0
  8. data/app/assets/javascripts/spree/backend/components/selectable_table/return_items.js +5 -0
  9. data/app/assets/javascripts/spree/backend/components/selectable_table/summary.js +7 -0
  10. data/app/assets/javascripts/spree/backend/components/sortable_table.js +31 -25
  11. data/app/assets/javascripts/spree/backend/components/tabs.js +1 -1
  12. data/app/assets/javascripts/spree/backend/models/order.js +11 -2
  13. data/app/assets/javascripts/spree/backend/models/payment.js +1 -1
  14. data/app/assets/javascripts/spree/backend/models/shipment.js +1 -1
  15. data/app/assets/javascripts/spree/backend/models/stock_item.js +1 -1
  16. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +2 -2
  17. data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -2
  18. data/app/assets/javascripts/spree/backend/orders/cart.js +6 -0
  19. data/app/assets/javascripts/spree/backend/product_picker.js +2 -2
  20. data/app/assets/javascripts/spree/backend/routes.js +40 -21
  21. data/app/assets/javascripts/spree/backend/shipments.js +5 -67
  22. data/app/assets/javascripts/spree/backend/shipping_methods/stock_locations_picker.js +18 -0
  23. data/app/assets/javascripts/spree/backend/stock_management.js +4 -2
  24. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +2 -2
  25. data/app/assets/javascripts/spree/backend/taxons.js +3 -3
  26. data/app/assets/javascripts/spree/backend/templates/index.js +2 -1
  27. data/app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs +2 -2
  28. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +5 -1
  29. data/app/assets/javascripts/spree/backend/templates/tables/return_item_sum_amount.hbs +7 -0
  30. data/app/assets/javascripts/spree/backend/templates/tables/selectable_label.hbs +6 -0
  31. data/app/assets/javascripts/spree/backend/user_picker.js +3 -4
  32. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +2 -2
  33. data/app/assets/javascripts/spree/backend/views/cart/empty_cart_button.js +29 -0
  34. data/app/assets/javascripts/spree/backend/views/cart/line_item_table.js +5 -0
  35. data/app/assets/javascripts/spree/backend/views/index.js +5 -0
  36. data/app/assets/javascripts/spree/backend/views/order/address.js +8 -6
  37. data/app/assets/javascripts/spree/backend/views/order/customer_select.js +2 -3
  38. data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +4 -1
  39. data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +4 -0
  40. data/app/assets/javascripts/spree/backend/views/tables/return_items.js +9 -0
  41. data/app/assets/javascripts/spree/backend/views/tables/selectable_table.js +70 -0
  42. data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js +32 -0
  43. data/app/assets/javascripts/spree/backend/views/tables/selectable_table/summary.js +45 -0
  44. data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +2 -0
  45. data/app/assets/stylesheets/spree/backend/components/_breadcrumb.scss +3 -3
  46. data/app/assets/stylesheets/spree/backend/components/_messages.scss +4 -0
  47. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +181 -49
  48. data/app/assets/stylesheets/spree/backend/globals/{_mixins.css → _mixins.scss} +0 -0
  49. data/app/assets/stylesheets/spree/backend/globals/_variables.scss +2 -0
  50. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +5 -1
  51. data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +4 -0
  52. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -0
  53. data/app/assets/stylesheets/spree/backend/shared/_header.scss +5 -1
  54. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +0 -9
  55. data/app/controllers/spree/admin/adjustments_controller.rb +1 -1
  56. data/app/controllers/spree/admin/base_controller.rb +7 -1
  57. data/app/controllers/spree/admin/cancellations_controller.rb +2 -0
  58. data/app/controllers/spree/admin/customer_returns_controller.rb +4 -4
  59. data/app/controllers/spree/admin/images_controller.rb +2 -1
  60. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -0
  61. data/app/controllers/spree/admin/orders_controller.rb +9 -4
  62. data/app/controllers/spree/admin/payment_methods_controller.rb +4 -4
  63. data/app/controllers/spree/admin/payments_controller.rb +5 -3
  64. data/app/controllers/spree/admin/product_properties_controller.rb +2 -2
  65. data/app/controllers/spree/admin/products_controller.rb +19 -25
  66. data/app/controllers/spree/admin/promotion_codes_controller.rb +9 -4
  67. data/app/controllers/spree/admin/refunds_controller.rb +19 -0
  68. data/app/controllers/spree/admin/resource_controller.rb +39 -10
  69. data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
  70. data/app/controllers/spree/admin/root_controller.rb +1 -1
  71. data/app/controllers/spree/admin/search_controller.rb +1 -2
  72. data/app/controllers/spree/admin/stock_items_controller.rb +6 -5
  73. data/app/controllers/spree/admin/stock_locations_controller.rb +4 -0
  74. data/app/controllers/spree/admin/stock_movements_controller.rb +7 -0
  75. data/app/controllers/spree/admin/style_guide_controller.rb +1 -1
  76. data/app/controllers/spree/admin/taxons/attachment_controller.rb +20 -0
  77. data/app/controllers/spree/admin/taxons_controller.rb +12 -1
  78. data/app/controllers/spree/admin/users/api_key_controller.rb +29 -0
  79. data/app/controllers/spree/admin/users_controller.rb +43 -22
  80. data/app/controllers/spree/admin/variants_controller.rb +4 -2
  81. data/app/controllers/spree/admin/zones_controller.rb +1 -1
  82. data/app/helpers/spree/admin/base_helper.rb +4 -0
  83. data/app/helpers/spree/admin/customer_returns_helper.rb +1 -1
  84. data/app/helpers/spree/admin/navigation_helper.rb +4 -3
  85. data/app/helpers/spree/admin/orders_helper.rb +8 -4
  86. data/app/helpers/spree/admin/stock_movements_helper.rb +8 -4
  87. data/app/helpers/spree/promotion_rules_helper.rb +1 -1
  88. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -3
  89. data/app/views/spree/admin/customer_returns/new.html.erb +1 -1
  90. data/app/views/spree/admin/images/index.html.erb +25 -21
  91. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -1
  92. data/app/views/spree/admin/option_types/edit.html.erb +4 -2
  93. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +1 -0
  94. data/app/views/spree/admin/orders/customer_details/_form.html.erb +13 -13
  95. data/app/views/spree/admin/orders/edit.html.erb +3 -4
  96. data/app/views/spree/admin/orders/index.html.erb +23 -13
  97. data/app/views/spree/admin/payment_methods/_form.html.erb +7 -2
  98. data/app/views/spree/admin/payment_methods/new.html.erb +1 -1
  99. data/app/views/spree/admin/payments/index.html.erb +3 -1
  100. data/app/views/spree/admin/prices/_master_variant_table.html.erb +41 -41
  101. data/app/views/spree/admin/prices/_table.html.erb +3 -3
  102. data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +7 -2
  103. data/app/views/spree/admin/product_properties/index.html.erb +14 -2
  104. data/app/views/spree/admin/products/_form.html.erb +13 -2
  105. data/app/views/spree/admin/products/index.html.erb +1 -1
  106. data/app/views/spree/admin/promotion_code_batches/new.html.erb +1 -1
  107. data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
  108. data/app/views/spree/admin/promotion_codes/new.html.erb +1 -1
  109. data/app/views/spree/admin/promotions/_actions.html.erb +2 -1
  110. data/app/views/spree/admin/promotions/_activations_new.html.erb +1 -1
  111. data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
  112. data/app/views/spree/admin/promotions/edit.html.erb +2 -2
  113. data/app/views/spree/admin/promotions/index.html.erb +13 -6
  114. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -10
  115. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  116. data/app/views/spree/admin/return_authorizations/new.html.erb +1 -1
  117. data/app/views/spree/admin/search/users.json.jbuilder +15 -1
  118. data/app/views/spree/admin/shared/_address.html.erb +6 -6
  119. data/app/views/spree/admin/shared/_address_form.html.erb +15 -8
  120. data/app/views/spree/admin/shared/_calculator_fields.html.erb +5 -0
  121. data/app/views/spree/admin/shared/_navigation.html.erb +3 -0
  122. data/app/views/spree/admin/shared/_new_resource_links.html.erb +1 -1
  123. data/app/views/spree/admin/shared/_order_submenu.html.erb +6 -6
  124. data/app/views/spree/admin/shared/_payments_tabs.html.erb +1 -1
  125. data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +5 -5
  126. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +7 -7
  127. data/app/views/spree/admin/shared/_shipping_tabs.html.erb +3 -3
  128. data/app/views/spree/admin/shared/_taxes_tabs.html.erb +2 -2
  129. data/app/views/spree/admin/shared/preference_fields/_encrypted_string.html.erb +12 -0
  130. data/app/views/spree/admin/shipping_methods/_form.html.erb +19 -1
  131. data/app/views/spree/admin/stock_items/_stock_management.html.erb +1 -1
  132. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
  133. data/app/views/spree/admin/stock_locations/index.html.erb +4 -2
  134. data/app/views/spree/admin/stock_movements/index.html.erb +30 -1
  135. data/app/views/spree/admin/store_credit_reasons/index.html.erb +1 -1
  136. data/app/views/spree/admin/store_credits/index.html.erb +1 -1
  137. data/app/views/spree/admin/stores/_form.html.erb +6 -0
  138. data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +27 -3
  139. data/app/views/spree/admin/tax_categories/_form.html.erb +1 -0
  140. data/app/views/spree/admin/tax_rates/_form.html.erb +1 -1
  141. data/app/views/spree/admin/taxonomies/new.html.erb +1 -1
  142. data/app/views/spree/admin/taxons/_form.html.erb +1 -5
  143. data/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb +16 -0
  144. data/app/views/spree/admin/users/_form.html.erb +14 -12
  145. data/app/views/spree/admin/users/_tabs.html.erb +1 -1
  146. data/app/views/spree/admin/users/edit.html.erb +5 -6
  147. data/app/views/spree/admin/users/items.html.erb +5 -3
  148. data/app/views/spree/admin/users/orders.html.erb +5 -3
  149. data/app/views/spree/admin/variants/_table_filter.html.erb +1 -1
  150. data/app/views/spree/admin/variants/index.html.erb +2 -2
  151. data/app/views/spree/layouts/admin.html.erb +1 -2
  152. data/config/initializers/form_builder.rb +2 -2
  153. data/config/routes.rb +4 -6
  154. data/lib/spree/backend.rb +1 -0
  155. data/lib/spree/backend/config.rb +9 -0
  156. data/lib/spree/backend/engine.rb +5 -5
  157. data/{app/models → lib}/spree/backend_configuration.rb +19 -3
  158. data/solidus_backend.gemspec +5 -4
  159. data/vendor/assets/stylesheets/solidus_admin/bootstrap/_variables.scss +1 -1
  160. metadata +44 -124
  161. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +0 -35
  162. data/app/assets/javascripts/spree/backend/templates/variants/autocomplete_stock.hbs +0 -56
  163. data/app/views/spree/admin/orders/_add_product.html.erb +0 -12
  164. data/script/rails +0 -10
  165. data/spec/controllers/spree/admin/base_controller_spec.rb +0 -26
  166. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +0 -83
  167. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +0 -235
  168. data/spec/controllers/spree/admin/locale_controller_spec.rb +0 -45
  169. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +0 -18
  170. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -128
  171. data/spec/controllers/spree/admin/orders_controller_spec.rb +0 -408
  172. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +0 -95
  173. data/spec/controllers/spree/admin/payments_controller_spec.rb +0 -194
  174. data/spec/controllers/spree/admin/prices_controller_spec.rb +0 -45
  175. data/spec/controllers/spree/admin/product_properties_controller_spec.rb +0 -71
  176. data/spec/controllers/spree/admin/products_controller_spec.rb +0 -270
  177. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +0 -23
  178. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +0 -32
  179. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +0 -36
  180. data/spec/controllers/spree/admin/promotions_controller_spec.rb +0 -122
  181. data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -35
  182. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +0 -137
  183. data/spec/controllers/spree/admin/resource_controller_spec.rb +0 -190
  184. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +0 -291
  185. data/spec/controllers/spree/admin/return_items_controller_spec.rb +0 -29
  186. data/spec/controllers/spree/admin/root_controller_spec.rb +0 -43
  187. data/spec/controllers/spree/admin/search_controller_spec.rb +0 -106
  188. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +0 -16
  189. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +0 -52
  190. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +0 -44
  191. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +0 -311
  192. data/spec/controllers/spree/admin/users_controller_spec.rb +0 -264
  193. data/spec/controllers/spree/admin/variants_controller_spec.rb +0 -71
  194. data/spec/features/admin/configuration/payment_methods_spec.rb +0 -167
  195. data/spec/features/admin/configuration/shipping_methods_spec.rb +0 -114
  196. data/spec/features/admin/configuration/stock_locations_spec.rb +0 -54
  197. data/spec/features/admin/configuration/store_spec.rb +0 -62
  198. data/spec/features/admin/configuration/tax_categories_spec.rb +0 -58
  199. data/spec/features/admin/configuration/tax_rates_spec.rb +0 -31
  200. data/spec/features/admin/configuration/taxonomies_spec.rb +0 -54
  201. data/spec/features/admin/configuration/zones_spec.rb +0 -41
  202. data/spec/features/admin/homepage_spec.rb +0 -86
  203. data/spec/features/admin/javascript_format_money_spec.rb +0 -22
  204. data/spec/features/admin/locale_spec.rb +0 -34
  205. data/spec/features/admin/orders/adjustments_promotions_spec.rb +0 -55
  206. data/spec/features/admin/orders/adjustments_spec.rb +0 -130
  207. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +0 -45
  208. data/spec/features/admin/orders/cancelling_inventory_spec.rb +0 -50
  209. data/spec/features/admin/orders/customer_details_spec.rb +0 -204
  210. data/spec/features/admin/orders/customer_returns_spec.rb +0 -28
  211. data/spec/features/admin/orders/line_items_spec.rb +0 -52
  212. data/spec/features/admin/orders/listing_spec.rb +0 -186
  213. data/spec/features/admin/orders/log_entries_spec.rb +0 -56
  214. data/spec/features/admin/orders/new_order_spec.rb +0 -331
  215. data/spec/features/admin/orders/new_refund_spec.rb +0 -35
  216. data/spec/features/admin/orders/order_details_spec.rb +0 -581
  217. data/spec/features/admin/orders/payments_spec.rb +0 -330
  218. data/spec/features/admin/orders/return_authorizations_spec.rb +0 -27
  219. data/spec/features/admin/orders/return_payment_state_spec.rb +0 -65
  220. data/spec/features/admin/orders/risk_analysis_spec.rb +0 -49
  221. data/spec/features/admin/orders/shipments_spec.rb +0 -145
  222. data/spec/features/admin/payments/store_credits_spec.rb +0 -23
  223. data/spec/features/admin/products/edit/images_spec.rb +0 -76
  224. data/spec/features/admin/products/edit/products_spec.rb +0 -92
  225. data/spec/features/admin/products/edit/taxons_spec.rb +0 -51
  226. data/spec/features/admin/products/edit/variants_spec.rb +0 -63
  227. data/spec/features/admin/products/option_types_spec.rb +0 -116
  228. data/spec/features/admin/products/pricing_spec.rb +0 -127
  229. data/spec/features/admin/products/products_spec.rb +0 -336
  230. data/spec/features/admin/products/properties_spec.rb +0 -141
  231. data/spec/features/admin/products/stock_management_spec.rb +0 -101
  232. data/spec/features/admin/products/variant_spec.rb +0 -89
  233. data/spec/features/admin/promotion_adjustments_spec.rb +0 -277
  234. data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -90
  235. data/spec/features/admin/promotions/product_rule_spec.rb +0 -35
  236. data/spec/features/admin/promotions/promotion_categories_spec.rb +0 -83
  237. data/spec/features/admin/promotions/promotion_spec.rb +0 -52
  238. data/spec/features/admin/promotions/tiered_calculator_spec.rb +0 -76
  239. data/spec/features/admin/promotions/user_rule_spec.rb +0 -42
  240. data/spec/features/admin/reimbursements_spec.rb +0 -18
  241. data/spec/features/admin/store_credits_spec.rb +0 -132
  242. data/spec/features/admin/stores_spec.rb +0 -37
  243. data/spec/features/admin/style_guide_spec.rb +0 -14
  244. data/spec/features/admin/taxons_spec.rb +0 -78
  245. data/spec/features/admin/users_spec.rb +0 -402
  246. data/spec/helpers/admin/base_helper_spec.rb +0 -49
  247. data/spec/helpers/admin/navigation_helper_spec.rb +0 -139
  248. data/spec/helpers/admin/stock_movements_helper_spec.rb +0 -29
  249. data/spec/helpers/admin/store_credit_events_helper_spec.rb +0 -97
  250. data/spec/helpers/promotion_rules_helper_spec.rb +0 -14
  251. data/spec/javascripts/fixtures/_boot.html.erb +0 -8
  252. data/spec/javascripts/fixtures/number_with_currency/with_currency_select.html.erb +0 -3
  253. data/spec/javascripts/fixtures/number_with_currency/without_select.html.erb +0 -3
  254. data/spec/javascripts/format_money_spec.js +0 -48
  255. data/spec/javascripts/spec_helper.js +0 -13
  256. data/spec/javascripts/support/show_errors.js +0 -8
  257. data/spec/javascripts/support/with_translations.js +0 -11
  258. data/spec/javascripts/translation_spec.js +0 -58
  259. data/spec/javascripts/views/number_with_currency_spec.js +0 -72
  260. data/spec/models/spree/backend_configuration/menu_item_spec.rb +0 -17
  261. data/spec/models/spree/backend_configuration_spec.rb +0 -22
  262. data/spec/spec_helper.rb +0 -122
  263. data/spec/support/appear_before_matcher.rb +0 -10
  264. data/spec/support/feature/base_feature_helper.rb +0 -12
  265. data/spec/support/feature/order_feature_helper.rb +0 -27
  266. data/spec/support/ror_ringer.jpeg +0 -0
  267. data/spec/teaspoon_env.rb +0 -51
  268. data/spec/test_views/spree/admin/widgets/edit.html.erb +0 -1
  269. data/spec/test_views/spree/admin/widgets/new.html.erb +0 -1
  270. 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
@@ -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
@@ -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,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