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,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- module Spree
6
- module Admin
7
- describe VariantsController, type: :controller do
8
- stub_authorization!
9
-
10
- describe "#index" do
11
- let(:product) { create(:product) }
12
- let(:params) { { product_id: product.slug } }
13
-
14
- subject { get :index, params: params }
15
-
16
- context "the value of @parent" do
17
- it "is the product" do
18
- subject
19
- expect(assigns(:parent)).to eq product
20
- end
21
-
22
- context "with a deleted product" do
23
- before { product.discard }
24
-
25
- it "is the product" do
26
- subject
27
- expect(assigns(:parent)).to eq product
28
- end
29
- end
30
- end
31
-
32
- context "the value of @collection" do
33
- let!(:variant) { create(:variant, product: product) }
34
- let!(:deleted_variant) { create(:variant, product: product) }
35
-
36
- context "with soft-deleted variants" do
37
- before { deleted_variant.discard }
38
-
39
- context "when deleted is not requested" do
40
- it "excludes deleted variants" do
41
- subject
42
- expect(assigns(:collection)).to include variant
43
- expect(assigns(:collection)).not_to include deleted_variant
44
- end
45
- end
46
-
47
- context "when deleted is requested" do
48
- let(:params) { { product_id: product.slug, deleted: "on" } }
49
-
50
- it "includes deleted variants" do
51
- subject
52
- expect(assigns(:collection)).to include variant
53
- expect(assigns(:collection)).to include deleted_variant
54
- end
55
- end
56
- end
57
- end
58
- end
59
-
60
- describe "#delete" do
61
- let!(:variant) { create(:variant) }
62
- let(:product) { variant.product }
63
-
64
- it "can be deleted" do
65
- delete :destroy, params: { product_id: product.to_param, id: variant.to_param }
66
- expect(variant.reload).to be_discarded
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,167 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe "Payment Methods", type: :feature do
6
- stub_authorization!
7
-
8
- before(:each) do
9
- visit spree.admin_path
10
- click_link "Settings"
11
- end
12
-
13
- context "admin visiting payment methods listing page" do
14
- before do
15
- create(:check_payment_method)
16
- end
17
-
18
- it "should display existing payment methods" do
19
- click_link "Payments"
20
- expect(page).to have_link 'Payment Methods'
21
- within("table#listing_payment_methods") do
22
- expect(all("th")[1].text).to eq("Name")
23
- expect(all("th")[2].text).to eq("Type")
24
- expect(all("th")[3].text).to eq("Available to Users")
25
- expect(all("th")[4].text).to eq("Available to Admin")
26
- expect(all("th")[5].text).to eq("State")
27
- end
28
-
29
- within('table#listing_payment_methods') do
30
- expect(page).to have_content(Spree::PaymentMethod::Check.model_name.human)
31
- end
32
- end
33
- end
34
-
35
- context "admin creating a new payment method" do
36
- it "should be able to create a new payment method" do
37
- click_link "Payments"
38
- expect(page).to have_link 'Payment Methods'
39
- click_link "admin_new_payment_methods_link"
40
- expect(page).to have_content("New Payment Method")
41
- fill_in "payment_method_name", with: "check90"
42
- fill_in "payment_method_description", with: "check90 desc"
43
- select Spree::PaymentMethod::Check.model_name.human, from: "Type"
44
- click_button "Create"
45
- expect(page).to have_content("successfully created!")
46
- end
47
- end
48
-
49
- context "admin editing a payment method" do
50
- let!(:payment_method) { create(:check_payment_method) }
51
-
52
- before do
53
- click_link "Payments"
54
- expect(page).to have_link 'Payment Methods'
55
- within("table#listing_payment_methods") do
56
- click_icon(:edit)
57
- end
58
- end
59
-
60
- it "should be able to edit an existing payment method" do
61
- fill_in "payment_method_name", with: "Payment 99"
62
- click_button "Update"
63
- expect(page).to have_content("successfully updated!")
64
- expect(page).to have_field("payment_method_name", with: "Payment 99")
65
- end
66
-
67
- context "with multiple stores available" do
68
- before do
69
- create(:store, name: "Default Store", url: "spreestore.example.com")
70
- visit current_path
71
- end
72
-
73
- it "should be able to change the associated stores" do
74
- select "Default Store", from: "Stores"
75
- click_button "Update"
76
- expect(page).to have_content("successfully updated!")
77
- expect(page).to have_select("payment_method_store_ids", selected: "Default Store")
78
- end
79
- end
80
-
81
- it "should display validation errors" do
82
- fill_in "payment_method_name", with: ""
83
- click_button "Update"
84
- expect(page).to have_content("Name can't be blank")
85
- end
86
-
87
- context 'with payment method having hash and array as preference' do
88
- class ComplexPayments < Spree::PaymentMethod
89
- preference :name, :string
90
- preference :mapping, :hash
91
- preference :recipients, :array
92
- end
93
-
94
- let!(:payment_method) { ComplexPayments.create!(name: 'Complex Payments') }
95
-
96
- it "does not display preference fields that are hash or array" do
97
- expect(page).to have_field("Name")
98
- expect(page).to_not have_field("Mapping")
99
- expect(page).to_not have_field("Recipients")
100
- end
101
- end
102
- end
103
-
104
- context "changing type and payment_source", js: true do
105
- before do
106
- create(:credit_card_payment_method)
107
- end
108
-
109
- it "displays message when changing type" do
110
- click_link "Payments"
111
- expect(page).to have_link 'Payment Methods'
112
- click_icon :edit
113
- expect(page).to have_content('Test Mode')
114
-
115
- select Spree::PaymentMethod::Check.model_name.human, from: 'Type'
116
- expect(page).to have_content('you must save first')
117
- expect(page).to have_no_content('Test Mode')
118
-
119
- # change back
120
- select Spree::PaymentMethod::BogusCreditCard.model_name.human, from: 'Type'
121
- expect(page).to have_no_content('you must save first')
122
- expect(page).to have_content('Test Mode')
123
- end
124
-
125
- it "displays message when changing preference source" do
126
- Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', {})
127
-
128
- click_link "Payments"
129
- expect(page).to have_link 'Payment Methods'
130
- click_icon :edit
131
- expect(page).to have_content('Test Mode')
132
-
133
- select 'my_prefs', from: 'Preference Source'
134
- expect(page).to have_content('you must save first')
135
- expect(page).to have_no_content('Test Mode')
136
-
137
- # change back
138
- select '(custom)', from: 'Preference Source'
139
- expect(page).to have_no_content('you must save first')
140
- expect(page).to have_content('Test Mode')
141
- end
142
-
143
- it "updates successfully and keeps secrets" do
144
- Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', { server: 'secret' })
145
-
146
- click_link "Payments"
147
- expect(page).to have_link 'Payment Methods'
148
- click_icon :edit
149
-
150
- select 'my_prefs', from: 'Preference Source'
151
- click_on 'Update'
152
- expect(page).to have_content('Using static preferences')
153
- expect(page).to have_no_content('secret')
154
-
155
- # change back
156
- select '(custom)', from: 'Preference Source'
157
- click_on 'Update'
158
- expect(page).to have_content('Test Mode')
159
- expect(page).to have_no_content('secret')
160
- end
161
-
162
- after do
163
- # cleanup
164
- Spree::Config.static_model_preferences.for_class(Spree::PaymentMethod::BogusCreditCard).clear
165
- end
166
- end
167
- end
@@ -1,114 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe "Shipping Methods", type: :feature do
6
- stub_authorization!
7
- let!(:zone) { create(:global_zone) }
8
- let!(:shipping_method) { create(:shipping_method, zones: [zone]) }
9
-
10
- before do
11
- visit spree.admin_path
12
- click_link "Settings"
13
- click_link "Shipping"
14
- end
15
-
16
- context "show" do
17
- it "should display existing shipping methods" do
18
- within_row(1) do
19
- expect(column_text(1)).to eq(shipping_method.name)
20
- expect(column_text(2)).to eq(zone.name)
21
- expect(column_text(3)).to eq("Flat Rate")
22
- expect(column_text(4)).to eq("Yes")
23
- end
24
- end
25
- end
26
-
27
- context "create", js: true do
28
- it "should be able to create a new shipping method" do
29
- click_link "New Shipping Method"
30
-
31
- fill_in "shipping_method_name", with: "bullock cart"
32
-
33
- within("#shipping_method_categories_field") do
34
- check first("input[type='checkbox']")["name"]
35
- end
36
-
37
- click_on "Create"
38
- expect(current_path).to eql(spree.edit_admin_shipping_method_path(Spree::ShippingMethod.last))
39
- end
40
-
41
- context 'with shipping method having a calculator with array or hash preference type' do
42
- before do
43
- class ComplexShipments < Spree::ShippingCalculator
44
- preference :amount, :decimal
45
- preference :currency, :string
46
- preference :mapping, :hash
47
- preference :list, :array
48
-
49
- def self.description
50
- "Complex Shipments"
51
- end
52
- end
53
- @calculators = Rails.application.config.spree.calculators.shipping_methods
54
- Rails.application.config.spree.calculators.shipping_methods = [ComplexShipments]
55
- end
56
-
57
- after do
58
- Rails.application.config.spree.calculators.shipping_methods = @calculators
59
- end
60
-
61
- it "does not show array and hash form fields" do
62
- click_link "New Shipping Method"
63
-
64
- fill_in "shipping_method_name", with: "bullock cart"
65
-
66
- within("#shipping_method_categories_field") do
67
- check first("input[type='checkbox']")["name"]
68
- end
69
-
70
- click_on "Create"
71
- select 'Complex Shipments', from: 'Base Calculator'
72
- click_on "Update"
73
-
74
- expect(page).to have_field('Amount')
75
- expect(page).to have_field('Currency')
76
- expect(page).to_not have_field('Mapping')
77
- expect(page).to_not have_field('List')
78
- end
79
- end
80
- end
81
-
82
- # Regression test for https://github.com/spree/spree/issues/1331
83
- context "update" do
84
- it "can update the existing calculator", js: true do
85
- within("#listing_shipping_methods") do
86
- click_icon :edit
87
- end
88
-
89
- fill_in 'Amount', with: 20
90
-
91
- click_button "Update"
92
-
93
- expect(page).to have_content 'successfully updated'
94
- expect(page).to have_field 'Amount', with: '20.0'
95
- end
96
-
97
- it "can change the calculator", js: true do
98
- within("#listing_shipping_methods") do
99
- click_icon :edit
100
- end
101
-
102
- select 'Flexible Rate per Package Item', from: 'Base Calculator'
103
-
104
- fill_in 'First Item', with: 10
105
- fill_in 'Additional Item', with: 20
106
-
107
- click_button "Update"
108
-
109
- expect(page).to have_content 'successfully updated'
110
- expect(page).to have_field 'First Item', with: '10.0'
111
- expect(page).to have_field 'Additional Item', with: '20.0'
112
- end
113
- end
114
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe "Stock Locations", type: :feature do
6
- stub_authorization!
7
-
8
- before(:each) do
9
- create(:country)
10
- visit spree.admin_path
11
- click_link "Settings"
12
- click_link "Shipping"
13
- click_link "Stock Locations"
14
- end
15
-
16
- it "can create a new stock location" do
17
- click_link "New Stock Location"
18
- fill_in "Name", with: "London"
19
- check "Active"
20
- click_button "Create"
21
-
22
- expect(page).to have_content("successfully created")
23
- expect(page).to have_content("London")
24
- end
25
-
26
- it "can delete an existing stock location", js: true do
27
- create(:stock_location)
28
- visit current_path
29
-
30
- expect(find('#listing_stock_locations')).to have_content("NY Warehouse")
31
- accept_alert do
32
- click_icon :trash
33
- end
34
-
35
- expect(page).to have_content('Stock Location "NY Warehouse" has been successfully removed')
36
-
37
- visit current_path
38
- expect(page).to have_content("No Stock Locations found")
39
- end
40
-
41
- it "can update an existing stock location" do
42
- create(:stock_location)
43
- visit current_path
44
-
45
- expect(page).to have_content("NY Warehouse")
46
-
47
- click_icon :edit
48
- fill_in "Name", with: "London"
49
- click_button "Update"
50
-
51
- expect(page).to have_content("successfully updated")
52
- expect(page).to have_content("London")
53
- end
54
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe "Store", type: :feature, js: true do
6
- stub_authorization!
7
-
8
- let!(:store) do
9
- create(:store, name: 'Test Store', url: 'test.example.org',
10
- mail_from_address: 'test@example.org')
11
- end
12
-
13
- let!(:vat_country) { create(:country, iso: "DE", name: "Germany") }
14
-
15
- before(:each) do
16
- visit spree.admin_path
17
- click_link "Settings"
18
- within('.admin-nav') do
19
- click_link "Stores"
20
- end
21
- end
22
-
23
- context "visiting general store settings" do
24
- it "should have the right content" do
25
- expect(page).to have_field("store_name", with: "Test Store")
26
- expect(page).to have_field("store_url", with: "test.example.org")
27
- expect(page).to have_field("store_mail_from_address", with: "test@example.org")
28
- end
29
- end
30
-
31
- context "editing general store settings" do
32
- it "should be able to update the site name" do
33
- fill_in "store_name", with: "Spree Demo Site99"
34
- fill_in "store_mail_from_address", with: "spree@example.org"
35
- click_button "Update"
36
-
37
- expect(page).to have_content "successfully updated"
38
- expect(page).to have_field("store_name", with: "Spree Demo Site99")
39
- expect(page).to have_field("store_mail_from_address", with: "spree@example.org")
40
- end
41
-
42
- it "should be able to update the default cart tax country" do
43
- expect(page).to have_select('Tax Country for Empty Carts', selected: 'No taxes on carts without address')
44
-
45
- select "Germany", from: "Tax Country for Empty Carts"
46
- click_button "Update"
47
-
48
- expect(page).to have_content("has been successfully updated")
49
- expect(page).to have_select("Tax Country for Empty Carts", selected: "Germany")
50
- end
51
- end
52
-
53
- context "update fails" do
54
- it "should display the error" do
55
- fill_in "Site Name", with: " "
56
- click_button "Update"
57
-
58
- expect(page).to have_content("can't be blank")
59
- expect(page).to have_field("Site Name", with: " ")
60
- end
61
- end
62
- end