solidus_backend 2.10.2 → 2.11.3

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 (234) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend.js +4 -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/selectable_table.js +5 -0
  7. data/app/assets/javascripts/spree/backend/components/selectable_table/return_items.js +5 -0
  8. data/app/assets/javascripts/spree/backend/components/selectable_table/summary.js +7 -0
  9. data/app/assets/javascripts/spree/backend/components/sortable_table.js +31 -25
  10. data/app/assets/javascripts/spree/backend/models/order.js +3 -3
  11. data/app/assets/javascripts/spree/backend/models/payment.js +1 -1
  12. data/app/assets/javascripts/spree/backend/models/shipment.js +1 -1
  13. data/app/assets/javascripts/spree/backend/models/stock_item.js +1 -1
  14. data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +2 -2
  15. data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -2
  16. data/app/assets/javascripts/spree/backend/product_picker.js +2 -2
  17. data/app/assets/javascripts/spree/backend/routes.js +40 -21
  18. data/app/assets/javascripts/spree/backend/shipments.js +5 -5
  19. data/app/assets/javascripts/spree/backend/shipping_methods/stock_locations_picker.js +18 -0
  20. data/app/assets/javascripts/spree/backend/stock_management.js +4 -2
  21. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +2 -2
  22. data/app/assets/javascripts/spree/backend/taxons.js +3 -3
  23. data/app/assets/javascripts/spree/backend/templates/index.js +2 -0
  24. data/app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs +2 -2
  25. data/app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs +5 -1
  26. data/app/assets/javascripts/spree/backend/templates/tables/return_item_sum_amount.hbs +7 -0
  27. data/app/assets/javascripts/spree/backend/templates/tables/selectable_label.hbs +6 -0
  28. data/app/assets/javascripts/spree/backend/user_picker.js +3 -4
  29. data/app/assets/javascripts/spree/backend/variant_autocomplete.js +2 -2
  30. data/app/assets/javascripts/spree/backend/views/cart/empty_cart_button.js +2 -2
  31. data/app/assets/javascripts/spree/backend/views/index.js +4 -0
  32. data/app/assets/javascripts/spree/backend/views/order/address.js +1 -1
  33. data/app/assets/javascripts/spree/backend/views/order/customer_select.js +2 -3
  34. data/app/assets/javascripts/spree/backend/views/order/details_adjustments.js +4 -1
  35. data/app/assets/javascripts/spree/backend/views/stock/edit_stock_item_row.js +4 -0
  36. data/app/assets/javascripts/spree/backend/views/tables/return_items.js +9 -0
  37. data/app/assets/javascripts/spree/backend/views/tables/selectable_table.js +70 -0
  38. data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js +32 -0
  39. data/app/assets/javascripts/spree/backend/views/tables/selectable_table/summary.js +45 -0
  40. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +4 -5
  41. data/app/assets/stylesheets/spree/backend/sections/_orders.scss +5 -1
  42. data/app/assets/stylesheets/spree/backend/sections/_style_guide.scss +4 -0
  43. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +1 -0
  44. data/app/controllers/spree/admin/base_controller.rb +6 -0
  45. data/app/controllers/spree/admin/cancellations_controller.rb +2 -0
  46. data/app/controllers/spree/admin/customer_returns_controller.rb +4 -4
  47. data/app/controllers/spree/admin/images_controller.rb +2 -1
  48. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -0
  49. data/app/controllers/spree/admin/orders_controller.rb +7 -2
  50. data/app/controllers/spree/admin/payments_controller.rb +3 -1
  51. data/app/controllers/spree/admin/product_properties_controller.rb +1 -1
  52. data/app/controllers/spree/admin/products_controller.rb +18 -24
  53. data/app/controllers/spree/admin/promotion_codes_controller.rb +9 -4
  54. data/app/controllers/spree/admin/refunds_controller.rb +20 -0
  55. data/app/controllers/spree/admin/resource_controller.rb +27 -7
  56. data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
  57. data/app/controllers/spree/admin/root_controller.rb +1 -1
  58. data/app/controllers/spree/admin/search_controller.rb +1 -2
  59. data/app/controllers/spree/admin/stock_items_controller.rb +6 -5
  60. data/app/controllers/spree/admin/stock_locations_controller.rb +4 -0
  61. data/app/controllers/spree/admin/stock_movements_controller.rb +7 -0
  62. data/app/controllers/spree/admin/taxons_controller.rb +12 -1
  63. data/app/controllers/spree/admin/users/api_key_controller.rb +29 -0
  64. data/app/controllers/spree/admin/users_controller.rb +37 -20
  65. data/app/controllers/spree/admin/variants_controller.rb +4 -2
  66. data/app/controllers/spree/admin/zones_controller.rb +1 -1
  67. data/app/helpers/spree/admin/base_helper.rb +4 -0
  68. data/app/helpers/spree/admin/customer_returns_helper.rb +1 -1
  69. data/app/helpers/spree/admin/navigation_helper.rb +1 -1
  70. data/app/helpers/spree/admin/orders_helper.rb +8 -4
  71. data/app/helpers/spree/admin/stock_movements_helper.rb +8 -4
  72. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +2 -3
  73. data/app/views/spree/admin/images/index.html.erb +25 -21
  74. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -1
  75. data/app/views/spree/admin/option_types/edit.html.erb +3 -1
  76. data/app/views/spree/admin/orders/customer_details/_form.html.erb +13 -13
  77. data/app/views/spree/admin/orders/index.html.erb +23 -13
  78. data/app/views/spree/admin/payment_methods/_form.html.erb +7 -2
  79. data/app/views/spree/admin/payments/index.html.erb +3 -1
  80. data/app/views/spree/admin/prices/_master_variant_table.html.erb +3 -3
  81. data/app/views/spree/admin/prices/_table.html.erb +3 -3
  82. data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +7 -2
  83. data/app/views/spree/admin/product_properties/index.html.erb +14 -2
  84. data/app/views/spree/admin/products/_form.html.erb +13 -2
  85. data/app/views/spree/admin/products/index.html.erb +2 -2
  86. data/app/views/spree/admin/promotion_codes/index.html.erb +1 -1
  87. data/app/views/spree/admin/promotions/_actions.html.erb +1 -1
  88. data/app/views/spree/admin/promotions/_activations_new.html.erb +1 -1
  89. data/app/views/spree/admin/promotions/_rules.html.erb +1 -1
  90. data/app/views/spree/admin/promotions/edit.html.erb +2 -2
  91. data/app/views/spree/admin/promotions/index.html.erb +12 -5
  92. data/app/views/spree/admin/return_authorizations/_form.html.erb +3 -10
  93. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  94. data/app/views/spree/admin/search/users.json.jbuilder +15 -1
  95. data/app/views/spree/admin/shared/_address.html.erb +6 -6
  96. data/app/views/spree/admin/shared/_address_form.html.erb +15 -8
  97. data/app/views/spree/admin/shared/_order_submenu.html.erb +4 -4
  98. data/app/views/spree/admin/shared/_payments_tabs.html.erb +1 -1
  99. data/app/views/spree/admin/shared/_settings_checkout_tabs.html.erb +5 -5
  100. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +6 -6
  101. data/app/views/spree/admin/shared/_shipping_tabs.html.erb +3 -3
  102. data/app/views/spree/admin/shared/_taxes_tabs.html.erb +2 -2
  103. data/app/views/spree/admin/shared/preference_fields/_encrypted_string.html.erb +12 -0
  104. data/app/views/spree/admin/shipping_methods/_form.html.erb +18 -0
  105. data/app/views/spree/admin/stock_items/_stock_management.html.erb +1 -1
  106. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -1
  107. data/app/views/spree/admin/stock_locations/index.html.erb +3 -1
  108. data/app/views/spree/admin/stock_movements/index.html.erb +30 -1
  109. data/app/views/spree/admin/store_credits/index.html.erb +1 -1
  110. data/app/views/spree/admin/stores/_form.html.erb +6 -0
  111. data/app/views/spree/admin/style_guide/topics/tables/_building_tables.html.erb +27 -3
  112. data/app/views/spree/admin/tax_categories/_form.html.erb +1 -0
  113. data/app/views/spree/admin/users/_form.html.erb +2 -2
  114. data/app/views/spree/admin/users/_tabs.html.erb +1 -1
  115. data/app/views/spree/admin/users/edit.html.erb +4 -4
  116. data/app/views/spree/admin/users/items.html.erb +5 -3
  117. data/app/views/spree/admin/users/orders.html.erb +5 -3
  118. data/app/views/spree/admin/variants/_table_filter.html.erb +1 -1
  119. data/app/views/spree/admin/variants/index.html.erb +2 -2
  120. data/config/initializers/form_builder.rb +2 -2
  121. data/lib/spree/backend/engine.rb +0 -2
  122. data/lib/spree/backend_configuration.rb +14 -1
  123. data/solidus_backend.gemspec +4 -4
  124. metadata +24 -123
  125. data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +0 -35
  126. data/script/rails +0 -10
  127. data/spec/controllers/spree/admin/base_controller_spec.rb +0 -26
  128. data/spec/controllers/spree/admin/cancellations_controller_spec.rb +0 -83
  129. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +0 -235
  130. data/spec/controllers/spree/admin/locale_controller_spec.rb +0 -45
  131. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +0 -18
  132. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -128
  133. data/spec/controllers/spree/admin/orders_controller_spec.rb +0 -408
  134. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +0 -95
  135. data/spec/controllers/spree/admin/payments_controller_spec.rb +0 -194
  136. data/spec/controllers/spree/admin/prices_controller_spec.rb +0 -45
  137. data/spec/controllers/spree/admin/product_properties_controller_spec.rb +0 -71
  138. data/spec/controllers/spree/admin/products_controller_spec.rb +0 -270
  139. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +0 -23
  140. data/spec/controllers/spree/admin/promotion_codes_controller_spec.rb +0 -32
  141. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +0 -36
  142. data/spec/controllers/spree/admin/promotions_controller_spec.rb +0 -122
  143. data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -35
  144. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +0 -137
  145. data/spec/controllers/spree/admin/resource_controller_spec.rb +0 -201
  146. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +0 -291
  147. data/spec/controllers/spree/admin/return_items_controller_spec.rb +0 -29
  148. data/spec/controllers/spree/admin/root_controller_spec.rb +0 -43
  149. data/spec/controllers/spree/admin/search_controller_spec.rb +0 -106
  150. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +0 -16
  151. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +0 -52
  152. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +0 -44
  153. data/spec/controllers/spree/admin/store_credits_controller_spec.rb +0 -311
  154. data/spec/controllers/spree/admin/users_controller_spec.rb +0 -287
  155. data/spec/controllers/spree/admin/variants_controller_spec.rb +0 -71
  156. data/spec/features/admin/configuration/payment_methods_spec.rb +0 -176
  157. data/spec/features/admin/configuration/shipping_methods_spec.rb +0 -126
  158. data/spec/features/admin/configuration/stock_locations_spec.rb +0 -54
  159. data/spec/features/admin/configuration/store_spec.rb +0 -62
  160. data/spec/features/admin/configuration/tax_categories_spec.rb +0 -58
  161. data/spec/features/admin/configuration/tax_rates_spec.rb +0 -31
  162. data/spec/features/admin/configuration/taxonomies_spec.rb +0 -61
  163. data/spec/features/admin/configuration/zones_spec.rb +0 -41
  164. data/spec/features/admin/homepage_spec.rb +0 -86
  165. data/spec/features/admin/javascript_format_money_spec.rb +0 -22
  166. data/spec/features/admin/locale_spec.rb +0 -34
  167. data/spec/features/admin/orders/adjustments_promotions_spec.rb +0 -55
  168. data/spec/features/admin/orders/adjustments_spec.rb +0 -130
  169. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +0 -45
  170. data/spec/features/admin/orders/cancelling_inventory_spec.rb +0 -50
  171. data/spec/features/admin/orders/customer_details_spec.rb +0 -203
  172. data/spec/features/admin/orders/customer_returns_spec.rb +0 -41
  173. data/spec/features/admin/orders/line_items_spec.rb +0 -52
  174. data/spec/features/admin/orders/listing_spec.rb +0 -186
  175. data/spec/features/admin/orders/log_entries_spec.rb +0 -56
  176. data/spec/features/admin/orders/new_order_spec.rb +0 -379
  177. data/spec/features/admin/orders/new_refund_spec.rb +0 -35
  178. data/spec/features/admin/orders/order_details_spec.rb +0 -591
  179. data/spec/features/admin/orders/payments_spec.rb +0 -330
  180. data/spec/features/admin/orders/return_authorizations_spec.rb +0 -56
  181. data/spec/features/admin/orders/return_payment_state_spec.rb +0 -65
  182. data/spec/features/admin/orders/risk_analysis_spec.rb +0 -49
  183. data/spec/features/admin/orders/shipments_spec.rb +0 -145
  184. data/spec/features/admin/payments/store_credits_spec.rb +0 -23
  185. data/spec/features/admin/products/edit/images_spec.rb +0 -76
  186. data/spec/features/admin/products/edit/products_spec.rb +0 -92
  187. data/spec/features/admin/products/edit/taxons_spec.rb +0 -57
  188. data/spec/features/admin/products/edit/variants_spec.rb +0 -63
  189. data/spec/features/admin/products/option_types_spec.rb +0 -116
  190. data/spec/features/admin/products/pricing_spec.rb +0 -127
  191. data/spec/features/admin/products/products_spec.rb +0 -348
  192. data/spec/features/admin/products/properties_spec.rb +0 -141
  193. data/spec/features/admin/products/stock_management_spec.rb +0 -101
  194. data/spec/features/admin/products/variant_spec.rb +0 -89
  195. data/spec/features/admin/promotion_adjustments_spec.rb +0 -286
  196. data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -90
  197. data/spec/features/admin/promotions/product_rule_spec.rb +0 -35
  198. data/spec/features/admin/promotions/promotion_categories_spec.rb +0 -83
  199. data/spec/features/admin/promotions/promotion_code_batches_spec.rb +0 -37
  200. data/spec/features/admin/promotions/promotion_code_spec.rb +0 -31
  201. data/spec/features/admin/promotions/promotion_spec.rb +0 -52
  202. data/spec/features/admin/promotions/tiered_calculator_spec.rb +0 -76
  203. data/spec/features/admin/promotions/user_rule_spec.rb +0 -42
  204. data/spec/features/admin/reimbursements_spec.rb +0 -18
  205. data/spec/features/admin/store_credits_spec.rb +0 -132
  206. data/spec/features/admin/stores_spec.rb +0 -37
  207. data/spec/features/admin/style_guide_spec.rb +0 -14
  208. data/spec/features/admin/taxons_spec.rb +0 -90
  209. data/spec/features/admin/users_spec.rb +0 -412
  210. data/spec/fixtures/files/ror_ringer.jpeg +0 -0
  211. data/spec/helpers/admin/base_helper_spec.rb +0 -49
  212. data/spec/helpers/admin/navigation_helper_spec.rb +0 -139
  213. data/spec/helpers/admin/stock_movements_helper_spec.rb +0 -29
  214. data/spec/helpers/admin/store_credit_events_helper_spec.rb +0 -97
  215. data/spec/helpers/promotion_rules_helper_spec.rb +0 -14
  216. data/spec/javascripts/fixtures/_boot.html.erb +0 -8
  217. data/spec/javascripts/fixtures/number_with_currency/with_currency_select.html.erb +0 -3
  218. data/spec/javascripts/fixtures/number_with_currency/without_select.html.erb +0 -3
  219. data/spec/javascripts/format_money_spec.js +0 -48
  220. data/spec/javascripts/spec_helper.js +0 -13
  221. data/spec/javascripts/support/show_errors.js +0 -8
  222. data/spec/javascripts/support/with_translations.js +0 -11
  223. data/spec/javascripts/translation_spec.js +0 -58
  224. data/spec/javascripts/views/number_with_currency_spec.js +0 -72
  225. data/spec/lib/spree/backend_configuration/menu_item_spec.rb +0 -17
  226. data/spec/lib/spree/backend_configuration_spec.rb +0 -22
  227. data/spec/spec_helper.rb +0 -123
  228. data/spec/support/appear_before_matcher.rb +0 -10
  229. data/spec/support/feature/base_feature_helper.rb +0 -17
  230. data/spec/support/feature/order_feature_helper.rb +0 -27
  231. data/spec/teaspoon_env.rb +0 -51
  232. data/spec/test_views/spree/admin/widgets/edit.html.erb +0 -1
  233. data/spec/test_views/spree/admin/widgets/new.html.erb +0 -1
  234. 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,176 +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", :js do
36
- it "creates a new payment method and disables the form" 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
-
47
- visit spree.new_admin_payment_method_path
48
- page.execute_script "$('form').submit(function(e) { e.preventDefault()})"
49
- fill_in "payment_method_name", with: "check90"
50
- fill_in "payment_method_description", with: "check90 desc"
51
- select Spree::PaymentMethod::Check.model_name.human, from: "Type"
52
- click_button "Create"
53
-
54
- expect(page).to have_button("Create", disabled: true)
55
- end
56
- end
57
-
58
- context "admin editing a payment method" do
59
- let!(:payment_method) { create(:check_payment_method) }
60
-
61
- before do
62
- click_link "Payments"
63
- expect(page).to have_link 'Payment Methods'
64
- within("table#listing_payment_methods") do
65
- click_icon(:edit)
66
- end
67
- end
68
-
69
- it "should be able to edit an existing payment method" do
70
- fill_in "payment_method_name", with: "Payment 99"
71
- click_button "Update"
72
- expect(page).to have_content("successfully updated!")
73
- expect(page).to have_field("payment_method_name", with: "Payment 99")
74
- end
75
-
76
- context "with multiple stores available" do
77
- before do
78
- create(:store, name: "Default Store", url: "spreestore.example.com")
79
- visit current_path
80
- end
81
-
82
- it "should be able to change the associated stores" do
83
- select "Default Store", from: "Stores"
84
- click_button "Update"
85
- expect(page).to have_content("successfully updated!")
86
- expect(page).to have_select("payment_method_store_ids", selected: "Default Store")
87
- end
88
- end
89
-
90
- it "should display validation errors" do
91
- fill_in "payment_method_name", with: ""
92
- click_button "Update"
93
- expect(page).to have_content("Name can't be blank")
94
- end
95
-
96
- context 'with payment method having hash and array as preference' do
97
- class ComplexPayments < Spree::PaymentMethod
98
- preference :name, :string
99
- preference :mapping, :hash
100
- preference :recipients, :array
101
- end
102
-
103
- let!(:payment_method) { ComplexPayments.create!(name: 'Complex Payments') }
104
-
105
- it "does not display preference fields that are hash or array" do
106
- expect(page).to have_field("Name")
107
- expect(page).to_not have_field("Mapping")
108
- expect(page).to_not have_field("Recipients")
109
- end
110
- end
111
- end
112
-
113
- context "changing type and payment_source", js: true do
114
- before do
115
- create(:credit_card_payment_method)
116
- end
117
-
118
- it "displays message when changing type" do
119
- click_link "Payments"
120
- expect(page).to have_link 'Payment Methods'
121
- click_icon :edit
122
- expect(page).to have_content('Test Mode')
123
-
124
- select Spree::PaymentMethod::Check.model_name.human, from: 'Type'
125
- expect(page).to have_content('you must save first')
126
- expect(page).to have_no_content('Test Mode')
127
-
128
- # change back
129
- select Spree::PaymentMethod::BogusCreditCard.model_name.human, from: 'Type'
130
- expect(page).to have_no_content('you must save first')
131
- expect(page).to have_content('Test Mode')
132
- end
133
-
134
- it "displays message when changing preference source" do
135
- Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', {})
136
-
137
- click_link "Payments"
138
- expect(page).to have_link 'Payment Methods'
139
- click_icon :edit
140
- expect(page).to have_content('Test Mode')
141
-
142
- select 'my_prefs', from: 'Preference Source'
143
- expect(page).to have_content('you must save first')
144
- expect(page).to have_no_content('Test Mode')
145
-
146
- # change back
147
- select '(custom)', from: 'Preference Source'
148
- expect(page).to have_no_content('you must save first')
149
- expect(page).to have_content('Test Mode')
150
- end
151
-
152
- it "updates successfully and keeps secrets" do
153
- Spree::Config.static_model_preferences.add(Spree::PaymentMethod::BogusCreditCard, 'my_prefs', { server: 'secret' })
154
-
155
- click_link "Payments"
156
- expect(page).to have_link 'Payment Methods'
157
- click_icon :edit
158
-
159
- select 'my_prefs', from: 'Preference Source'
160
- click_on 'Update'
161
- expect(page).to have_content('Using static preferences')
162
- expect(page).to have_no_content('secret')
163
-
164
- # change back
165
- select '(custom)', from: 'Preference Source'
166
- click_on 'Update'
167
- expect(page).to have_content('Test Mode')
168
- expect(page).to have_no_content('secret')
169
- end
170
-
171
- after do
172
- # cleanup
173
- Spree::Config.static_model_preferences.for_class(Spree::PaymentMethod::BogusCreditCard).clear
174
- end
175
- end
176
- end
@@ -1,126 +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 "creates a new shipping method and disables the submit button", :js 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
-
40
- visit spree.new_admin_shipping_method_path
41
- page.execute_script "$('form').submit(function(e) { e.preventDefault()})"
42
- fill_in "shipping_method_name", with: "bullock cart"
43
-
44
- within("#shipping_method_categories_field") do
45
- check first("input[type='checkbox']")["name"]
46
- end
47
-
48
- click_on "Create"
49
-
50
- expect(page).to have_button("Create", disabled: true)
51
- end
52
-
53
- context 'with shipping method having a calculator with array or hash preference type' do
54
- before do
55
- class ComplexShipments < Spree::ShippingCalculator
56
- preference :amount, :decimal
57
- preference :currency, :string
58
- preference :mapping, :hash
59
- preference :list, :array
60
-
61
- def self.description
62
- "Complex Shipments"
63
- end
64
- end
65
- @calculators = Rails.application.config.spree.calculators.shipping_methods
66
- Rails.application.config.spree.calculators.shipping_methods = [ComplexShipments]
67
- end
68
-
69
- after do
70
- Rails.application.config.spree.calculators.shipping_methods = @calculators
71
- end
72
-
73
- it "does not show array and hash form fields" do
74
- click_link "New Shipping Method"
75
-
76
- fill_in "shipping_method_name", with: "bullock cart"
77
-
78
- within("#shipping_method_categories_field") do
79
- check first("input[type='checkbox']")["name"]
80
- end
81
-
82
- click_on "Create"
83
- select 'Complex Shipments', from: 'Base Calculator'
84
- click_on "Update"
85
-
86
- expect(page).to have_field('Amount')
87
- expect(page).to have_field('Currency')
88
- expect(page).to_not have_field('Mapping')
89
- expect(page).to_not have_field('List')
90
- end
91
- end
92
- end
93
-
94
- # Regression test for https://github.com/spree/spree/issues/1331
95
- context "update" do
96
- it "can update the existing calculator", js: true do
97
- within("#listing_shipping_methods") do
98
- click_icon :edit
99
- end
100
-
101
- fill_in 'Amount', with: 20
102
-
103
- click_button "Update"
104
-
105
- expect(page).to have_content 'successfully updated'
106
- expect(page).to have_field 'Amount', with: '20.0'
107
- end
108
-
109
- it "can change the calculator", js: true do
110
- within("#listing_shipping_methods") do
111
- click_icon :edit
112
- end
113
-
114
- select 'Flexible Rate per Package Item', from: 'Base Calculator'
115
-
116
- fill_in 'First Item', with: 10
117
- fill_in 'Additional Item', with: 20
118
-
119
- click_button "Update"
120
-
121
- expect(page).to have_content 'successfully updated'
122
- expect(page).to have_field 'First Item', with: '10.0'
123
- expect(page).to have_field 'Additional Item', with: '20.0'
124
- end
125
- end
126
- 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