spree_backend 3.2.1 → 3.2.2

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/app/views/spree/admin/products/_form.html.erb +8 -8
  3. data/spree_backend.gemspec +2 -2
  4. metadata +9 -100
  5. data/spec/controllers/spree/admin/base_controller_spec.rb +0 -46
  6. data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +0 -185
  7. data/spec/controllers/spree/admin/general_settings_controller_spec.rb +0 -41
  8. data/spec/controllers/spree/admin/missing_products_controller_spec.rb +0 -18
  9. data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +0 -197
  10. data/spec/controllers/spree/admin/orders_controller_spec.rb +0 -296
  11. data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +0 -64
  12. data/spec/controllers/spree/admin/payments_controller_spec.rb +0 -97
  13. data/spec/controllers/spree/admin/products_controller_spec.rb +0 -99
  14. data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +0 -21
  15. data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +0 -21
  16. data/spec/controllers/spree/admin/promotions_controller_spec.rb +0 -44
  17. data/spec/controllers/spree/admin/refunds_controller_spec.rb +0 -32
  18. data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +0 -74
  19. data/spec/controllers/spree/admin/reports_controller_spec.rb +0 -42
  20. data/spec/controllers/spree/admin/resource_controller_spec.rb +0 -252
  21. data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +0 -225
  22. data/spec/controllers/spree/admin/return_index_controller_spec.rb +0 -37
  23. data/spec/controllers/spree/admin/return_items_controller_spec.rb +0 -27
  24. data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +0 -14
  25. data/spec/controllers/spree/admin/stock_items_controller_spec.rb +0 -19
  26. data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +0 -41
  27. data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +0 -41
  28. data/spec/controllers/spree/admin/tax_categories_controller_spec.rb +0 -34
  29. data/spec/controllers/spree/admin/users_controller_spec.rb +0 -161
  30. data/spec/controllers/spree/admin/variants_controller_spec.rb +0 -32
  31. data/spec/features/admin/configuration/analytics_tracker_spec.rb +0 -47
  32. data/spec/features/admin/configuration/countries_spec.rb +0 -24
  33. data/spec/features/admin/configuration/general_settings_spec.rb +0 -44
  34. data/spec/features/admin/configuration/payment_methods_spec.rb +0 -63
  35. data/spec/features/admin/configuration/roles_spec.rb +0 -47
  36. data/spec/features/admin/configuration/shipping_methods_spec.rb +0 -62
  37. data/spec/features/admin/configuration/states_spec.rb +0 -68
  38. data/spec/features/admin/configuration/stock_locations_spec.rb +0 -48
  39. data/spec/features/admin/configuration/store_credit_categories_spec.rb +0 -50
  40. data/spec/features/admin/configuration/tax_categories_spec.rb +0 -56
  41. data/spec/features/admin/configuration/tax_rates_spec.rb +0 -18
  42. data/spec/features/admin/configuration/zones_spec.rb +0 -39
  43. data/spec/features/admin/homepage_spec.rb +0 -89
  44. data/spec/features/admin/locale_spec.rb +0 -31
  45. data/spec/features/admin/orders/adjustments_promotions_spec.rb +0 -53
  46. data/spec/features/admin/orders/adjustments_spec.rb +0 -130
  47. data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +0 -47
  48. data/spec/features/admin/orders/customer_details_spec.rb +0 -154
  49. data/spec/features/admin/orders/line_items_spec.rb +0 -51
  50. data/spec/features/admin/orders/listing_spec.rb +0 -224
  51. data/spec/features/admin/orders/log_entries_spec.rb +0 -55
  52. data/spec/features/admin/orders/new_order_spec.rb +0 -186
  53. data/spec/features/admin/orders/order_details_spec.rb +0 -662
  54. data/spec/features/admin/orders/payments_spec.rb +0 -231
  55. data/spec/features/admin/orders/risk_analysis_spec.rb +0 -48
  56. data/spec/features/admin/orders/shipments_spec.rb +0 -64
  57. data/spec/features/admin/orders/state_changes_spec.rb +0 -21
  58. data/spec/features/admin/products/edit/images_spec.rb +0 -86
  59. data/spec/features/admin/products/edit/products_spec.rb +0 -64
  60. data/spec/features/admin/products/edit/taxons_spec.rb +0 -41
  61. data/spec/features/admin/products/edit/variants_spec.rb +0 -56
  62. data/spec/features/admin/products/option_types_spec.rb +0 -114
  63. data/spec/features/admin/products/products_spec.rb +0 -445
  64. data/spec/features/admin/products/properties_spec.rb +0 -147
  65. data/spec/features/admin/products/prototypes_spec.rb +0 -112
  66. data/spec/features/admin/products/stock_management_spec.rb +0 -124
  67. data/spec/features/admin/products/taxonomies_spec.rb +0 -52
  68. data/spec/features/admin/products/variant_spec.rb +0 -50
  69. data/spec/features/admin/promotions/adjustments_spec.rb +0 -258
  70. data/spec/features/admin/promotions/option_value_rule_spec.rb +0 -70
  71. data/spec/features/admin/promotions/tiered_calculator_spec.rb +0 -70
  72. data/spec/features/admin/refund_reasons/refund_reasons_spec.rb +0 -57
  73. data/spec/features/admin/reimbursement_type/edit_reimbursement_type_spec.rb +0 -36
  74. data/spec/features/admin/reimbursement_type/new_reimbursement_type_spec.rb +0 -62
  75. data/spec/features/admin/reports_spec.rb +0 -61
  76. data/spec/features/admin/return_authorization_reasons/return_authorization_reasons_spec.rb +0 -63
  77. data/spec/features/admin/returns/customer_returns_spec.rb +0 -80
  78. data/spec/features/admin/returns/return_authorizations_spec.rb +0 -152
  79. data/spec/features/admin/stock_transfer_spec.rb +0 -75
  80. data/spec/features/admin/store_credits_spec.rb +0 -93
  81. data/spec/features/admin/taxons_spec.rb +0 -47
  82. data/spec/features/admin/users_spec.rb +0 -286
  83. data/spec/helpers/admin/base_helper_spec.rb +0 -30
  84. data/spec/helpers/admin/navigation_helper_spec.rb +0 -111
  85. data/spec/helpers/admin/promotion_rules_helper_spec.rb +0 -12
  86. data/spec/helpers/admin/stock_movements_helper_spec.rb +0 -30
  87. data/spec/models/spree/resource_spec.rb +0 -48
  88. data/spec/routing/admin_path_spec.rb +0 -22
  89. data/spec/spec_helper.rb +0 -144
  90. data/spec/support/appear_before_matcher.rb +0 -8
  91. data/spec/support/ror_ringer.jpeg +0 -0
  92. data/spec/test_views/spree/admin/submodule/posts/edit.html.erb +0 -1
  93. data/spec/test_views/spree/admin/submodule/posts/new.html.erb +0 -1
  94. data/spec/test_views/spree/admin/widgets/edit.html.erb +0 -1
  95. data/spec/test_views/spree/admin/widgets/new.html.erb +0 -1
@@ -1,225 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Admin::ReturnAuthorizationsController, type: :controller do
4
- stub_authorization!
5
-
6
- # Regression test for #1370 #3
7
- let!(:order) { create(:shipped_order, line_items_count: 3) }
8
- let!(:return_authorization_reason) { create(:return_authorization_reason) }
9
- let(:inventory_unit_1) { order.inventory_units.order('id asc')[0] }
10
- let(:inventory_unit_2) { order.inventory_units.order('id asc')[1] }
11
- let(:inventory_unit_3) { order.inventory_units.order('id asc')[2] }
12
-
13
- describe "#load_return_authorization_reasons" do
14
- let!(:inactive_rma_reason) { create(:return_authorization_reason, active: false) }
15
-
16
- context "return authorization has an associated inactive reason" do
17
- let!(:other_inactive_rma_reason) { create(:return_authorization_reason, active: false) }
18
- let(:return_authorization) { create(:return_authorization, reason: inactive_rma_reason) }
19
-
20
- it "loads all the active rma reasons" do
21
- spree_get :edit, id: return_authorization.to_param, order_id: return_authorization.order.to_param
22
- expect(assigns(:reasons)).to include(return_authorization_reason)
23
- expect(assigns(:reasons)).to include(inactive_rma_reason)
24
- expect(assigns(:reasons)).not_to include(other_inactive_rma_reason)
25
- end
26
- end
27
-
28
- context "return authorization has an associated active reason" do
29
- let(:return_authorization) { create(:return_authorization, reason: return_authorization_reason) }
30
-
31
- it "loads all the active rma reasons" do
32
- spree_get :edit, id: return_authorization.to_param, order_id: return_authorization.order.to_param
33
- expect(assigns(:reasons)).to eq [return_authorization_reason]
34
- end
35
- end
36
-
37
- context "return authorization doesn't have an associated reason" do
38
- it "loads all the active rma reasons" do
39
- spree_get :new, order_id: order.to_param
40
- expect(assigns(:reasons)).to eq [return_authorization_reason]
41
- end
42
- end
43
- end
44
-
45
- describe "#load_return_items" do
46
- shared_context 'without existing return items' do
47
- context 'without existing return items' do
48
- it 'has 3 new @form_return_items' do
49
- subject
50
- expect(assigns(:form_return_items).size).to eq 3
51
- expect(assigns(:form_return_items).select(&:new_record?).size).to eq 3
52
- end
53
- end
54
- end
55
-
56
- shared_context 'with existing return items' do
57
- context 'with existing return items' do
58
- let!(:return_item_1) { create(:return_item, inventory_unit: inventory_unit_1, return_authorization: return_authorization) }
59
-
60
- it 'has 1 existing return item and 2 new return items' do
61
- subject
62
- expect(assigns(:form_return_items).size).to eq 3
63
- expect(assigns(:form_return_items).select(&:persisted?)).to eq [return_item_1]
64
- expect(assigns(:form_return_items).select(&:new_record?).size).to eq 2
65
- end
66
- end
67
- end
68
-
69
- context '#new' do
70
- subject { spree_get :new, order_id: order.to_param }
71
-
72
- include_context 'without existing return items'
73
- end
74
-
75
- context '#edit' do
76
- subject do
77
- spree_get :edit, {
78
- id: return_authorization.to_param,
79
- order_id: order.to_param,
80
- }
81
- end
82
-
83
- let(:return_authorization) { create(:return_authorization, order: order) }
84
-
85
- include_context 'without existing return items'
86
- include_context 'with existing return items'
87
- end
88
-
89
- context '#create failed' do
90
- subject do
91
- spree_post :create, {
92
- return_authorization: {return_authorization_reason_id: -1}, # invalid reason_id
93
- order_id: order.to_param,
94
- }
95
- end
96
-
97
- include_context 'without existing return items'
98
- end
99
-
100
- context '#update failed' do
101
- subject do
102
- spree_put :update, {
103
- return_authorization: {return_authorization_reason_id: -1}, # invalid reason_id
104
- id: return_authorization.to_param,
105
- order_id: order.to_param,
106
- }
107
- end
108
-
109
- let(:return_authorization) { create(:return_authorization, order: order) }
110
-
111
- include_context 'without existing return items'
112
- include_context 'with existing return items'
113
- end
114
- end
115
-
116
- describe "#load_reimbursement_types" do
117
- let(:order) { create(:order) }
118
- let!(:inactive_reimbursement_type) { create(:reimbursement_type, active: false) }
119
- let!(:first_active_reimbursement_type) { create(:reimbursement_type) }
120
- let!(:second_active_reimbursement_type) { create(:reimbursement_type) }
121
-
122
- before do
123
- spree_get :new, order_id: order.to_param
124
- end
125
-
126
- it "loads all the active reimbursement types" do
127
- expect(assigns(:reimbursement_types)).to include(first_active_reimbursement_type)
128
- expect(assigns(:reimbursement_types)).to include(second_active_reimbursement_type)
129
- expect(assigns(:reimbursement_types)).not_to include(inactive_reimbursement_type)
130
- end
131
- end
132
-
133
- context '#create' do
134
- let(:stock_location) { create(:stock_location) }
135
-
136
- subject { spree_post :create, params }
137
-
138
- let(:params) do
139
- {
140
- order_id: order.to_param,
141
- return_authorization: return_authorization_params,
142
- }
143
- end
144
-
145
- let(:return_authorization_params) do
146
- {
147
- memo: "",
148
- stock_location_id: stock_location.id,
149
- return_authorization_reason_id: return_authorization_reason.id,
150
- }
151
- end
152
-
153
- it "can create a return authorization" do
154
- subject
155
- expect(response).to redirect_to spree.admin_order_return_authorizations_path(order)
156
- end
157
- end
158
-
159
- context '#update' do
160
- let(:return_authorization) { create(:return_authorization, order: order) }
161
-
162
- let(:params) do
163
- {
164
- id: return_authorization.to_param,
165
- order_id: order.to_param,
166
- return_authorization: return_authorization_params,
167
- }
168
- end
169
- let(:return_authorization_params) do
170
- {
171
- memo: "",
172
- return_items_attributes: return_items_params,
173
- }
174
- end
175
-
176
- subject { spree_put :update, params }
177
-
178
- context "adding an item" do
179
- let(:return_items_params) do
180
- {
181
- '0' => {inventory_unit_id: inventory_unit_1.to_param}
182
- }
183
- end
184
-
185
- context 'without existing items' do
186
- it 'creates a new item' do
187
- expect { subject }.to change { Spree::ReturnItem.count }.by(1)
188
- end
189
- end
190
-
191
- context 'with existing completed items' do
192
- let!(:completed_return_item) do
193
- create(:return_item, {
194
- return_authorization: return_authorization,
195
- inventory_unit: inventory_unit_1,
196
- reception_status: 'received',
197
- })
198
- end
199
-
200
- it 'does not create new items' do
201
- expect { subject }.to_not change { Spree::ReturnItem.count }
202
- expect(assigns[:return_authorization].errors['return_items.inventory_unit']).to eq ["#{inventory_unit_1.id} has already been taken by return item #{completed_return_item.id}"]
203
- end
204
- end
205
- end
206
-
207
- context "removing an item" do
208
- let!(:return_item) do
209
- create(:return_item, return_authorization: return_authorization, inventory_unit: inventory_unit_1)
210
- end
211
-
212
- let(:return_items_params) do
213
- {
214
- '0' => {id: return_item.to_param, _destroy: '1'}
215
- }
216
- end
217
-
218
- context 'with existing items' do
219
- it 'removes the item' do
220
- expect { subject }.to change { Spree::ReturnItem.count }.by(-1)
221
- end
222
- end
223
- end
224
- end
225
- end
@@ -1,37 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- module Admin
5
- describe ReturnIndexController, type: :controller do
6
- stub_authorization!
7
-
8
- describe "#return_authorizations" do
9
- let(:return_authorization) { create(:return_authorization) }
10
-
11
- subject do
12
- spree_get :return_authorizations
13
- end
14
-
15
- before { subject }
16
-
17
- it "loads return authorizations" do
18
- expect(assigns(:collection)).to include(return_authorization)
19
- end
20
- end
21
-
22
- describe "#customer_returns" do
23
- let(:customer_return) { create(:customer_return) }
24
-
25
- subject do
26
- spree_get :customer_returns
27
- end
28
-
29
- before { subject }
30
-
31
- it "loads customer returns" do
32
- expect(assigns(:collection)).to include(customer_return)
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,27 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Admin::ReturnItemsController, type: :controller do
4
- stub_authorization!
5
-
6
- describe '#update' do
7
- let(:customer_return) { create(:customer_return) }
8
- let(:return_item) { customer_return.return_items.first }
9
- let(:old_acceptance_status) { 'accepted' }
10
- let(:new_acceptance_status) { 'rejected' }
11
-
12
- subject do
13
- spree_put :update, id: return_item.to_param, return_item: {acceptance_status: new_acceptance_status}
14
- end
15
-
16
- it 'updates the return item' do
17
- expect {
18
- subject
19
- }.to change { return_item.reload.acceptance_status }.from(old_acceptance_status).to(new_acceptance_status)
20
- end
21
-
22
- it 'redirects to the custome return' do
23
- subject
24
- expect(response).to redirect_to spree.edit_admin_order_customer_return_path(customer_return.order, customer_return)
25
- end
26
- end
27
- end
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spree::Admin::ShippingMethodsController, type: :controller do
4
- stub_authorization!
5
-
6
- # Regression test for #1240
7
- it "should not hard-delete shipping methods" do
8
- shipping_method = stub_model(Spree::ShippingMethod)
9
- allow(Spree::ShippingMethod).to receive_messages find: shipping_method
10
- expect(shipping_method.deleted_at).to be_nil
11
- spree_delete :destroy, id: 1
12
- expect(shipping_method.reload.deleted_at).not_to be_nil
13
- end
14
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- module Admin
5
- describe StockItemsController, type: :controller do
6
- stub_authorization!
7
-
8
- context "formats" do
9
- let!(:stock_item) { create(:variant).stock_items.first }
10
-
11
- it "destroy stock item via js" do
12
- expect {
13
- spree_delete :destroy, format: :js, id: stock_item
14
- }.to change{ StockItem.count }.by(-1)
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,41 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- module Admin
5
- describe StockLocationsController, type: :controller do
6
- stub_authorization!
7
-
8
- # Regression for #4272
9
- context "with no countries present" do
10
- it "cannot create a new stock location" do
11
- spree_get :new
12
- expect(flash[:error]).to eq(Spree.t(:stock_locations_need_a_default_country))
13
- expect(response).to redirect_to(spree.admin_stock_locations_path)
14
- end
15
- end
16
-
17
- context "with a default country present" do
18
- before do
19
- country = FactoryGirl.create(:country)
20
- Spree::Config[:default_country_id] = country.id
21
- end
22
-
23
- it "can create a new stock location" do
24
- spree_get :new
25
- expect(response).to be_success
26
- end
27
- end
28
-
29
- context "with a country with the ISO code of 'US' existing" do
30
- before do
31
- FactoryGirl.create(:country, iso: 'US')
32
- end
33
-
34
- it "can create a new stock location" do
35
- spree_get :new
36
- expect(response).to be_success
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,41 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- describe Admin::StockTransfersController, type: :controller do
5
- stub_authorization!
6
-
7
- let!(:stock_transfer1) {
8
- StockTransfer.create do |transfer|
9
- transfer.source_location_id = 1
10
- transfer.destination_location_id = 2
11
- transfer.reference = 'PO 666'
12
- end }
13
-
14
- let!(:stock_transfer2) {
15
- StockTransfer.create do |transfer|
16
- transfer.source_location_id = 3
17
- transfer.destination_location_id = 4
18
- transfer.reference = 'PO 666'
19
- end }
20
-
21
-
22
- context "#index" do
23
- it "gets all transfers without search criteria" do
24
- spree_get :index
25
- expect(assigns[:stock_transfers].count).to eq 2
26
- end
27
-
28
- it "searches by source location" do
29
- spree_get :index, q: { source_location_id_eq: 1 }
30
- expect(assigns[:stock_transfers].count).to eq 1
31
- expect(assigns[:stock_transfers]).to include(stock_transfer1)
32
- end
33
-
34
- it "searches by destination location" do
35
- spree_get :index, q: { destination_location_id_eq: 4 }
36
- expect(assigns[:stock_transfers].count).to eq 1
37
- expect(assigns[:stock_transfers]).to include(stock_transfer2)
38
- end
39
- end
40
- end
41
- end
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- module Admin
5
- describe TaxCategoriesController, type: :controller do
6
- stub_authorization!
7
-
8
- describe 'GET #index' do
9
- subject { spree_get :index }
10
-
11
- it 'should be successful' do
12
- expect(subject).to be_success
13
- end
14
- end
15
-
16
- describe 'PUT #update' do
17
- let(:tax_category) { create :tax_category }
18
-
19
- subject { spree_put :update, {id: tax_category.id, tax_category: { name: 'Foo', tax_code: 'Bar' }}}
20
-
21
- it 'should redirect' do
22
- expect(subject).to be_redirect
23
- end
24
-
25
- it 'should update' do
26
- subject
27
- tax_category.reload
28
- expect(tax_category.name).to eq('Foo')
29
- expect(tax_category.tax_code).to eq('Bar')
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,161 +0,0 @@
1
- require 'spec_helper'
2
- require 'spree/testing_support/bar_ability'
3
-
4
- describe Spree::Admin::UsersController, type: :controller do
5
- let(:user) { create(:user) }
6
- let(:mock_user) { mock_model Spree.user_class }
7
-
8
- before do
9
- allow(controller).to receive_messages spree_current_user: user
10
- user.spree_roles.clear
11
- stub_const('Spree::User', user.class)
12
- end
13
-
14
- context "#show" do
15
- before do
16
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
17
- end
18
-
19
- it "redirects to edit" do
20
- spree_get :show, id: user.id
21
- expect(response).to redirect_to spree.edit_admin_user_path(user)
22
- end
23
- end
24
-
25
- context '#authorize_admin' do
26
- before { use_mock_user }
27
-
28
- it 'grant access to users with an admin role' do
29
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
30
- spree_post :index
31
- expect(response).to render_template :index
32
- end
33
-
34
- it "allows admins to update a user's API key" do
35
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
36
- expect(mock_user).to receive(:generate_spree_api_key!).and_return(true)
37
- spree_put :generate_api_key, id: mock_user.id
38
- expect(response).to redirect_to(spree.edit_admin_user_path(mock_user))
39
- end
40
-
41
- it "allows admins to clear a user's API key" do
42
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
43
- expect(mock_user).to receive(:clear_spree_api_key!).and_return(true)
44
- spree_put :clear_api_key, id: mock_user.id
45
- expect(response).to redirect_to(spree.edit_admin_user_path(mock_user))
46
- end
47
-
48
- it 'deny access to users with an bar role' do
49
- user.spree_roles << Spree::Role.find_or_create_by(name: 'bar')
50
- Spree::Ability.register_ability(BarAbility)
51
- spree_post :index
52
- expect(response).to redirect_to(spree.forbidden_path)
53
- end
54
-
55
- it 'deny access to users with an bar role' do
56
- user.spree_roles << Spree::Role.find_or_create_by(name: 'bar')
57
- Spree::Ability.register_ability(BarAbility)
58
- spree_post :update, { id: '9' }
59
- expect(response).to redirect_to(spree.forbidden_path)
60
- end
61
-
62
- it 'deny access to users without an admin role' do
63
- allow(user).to receive_messages has_spree_role?: false
64
- spree_post :index
65
- expect(response).to redirect_to(spree.forbidden_path)
66
- end
67
- end
68
-
69
- describe "#create" do
70
- before do
71
- use_mock_user
72
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
73
- end
74
-
75
- it "can create a shipping_address" do
76
- expect(Spree.user_class).to receive(:new).with(ActionController::Parameters.new(
77
- "ship_address_attributes" => { "city" => "New York" }
78
- ).permit(ship_address_attributes: permitted_address_attributes))
79
- spree_post :create, user: { ship_address_attributes: { city: "New York" } }
80
- end
81
-
82
- it "can create a billing_address" do
83
- expect(Spree.user_class).to receive(:new).with(ActionController::Parameters.new(
84
- "bill_address_attributes" => { "city" => "New York" }
85
- ).permit(bill_address_attributes: permitted_address_attributes))
86
- spree_post :create, user: { bill_address_attributes: { city: "New York" } }
87
- end
88
- end
89
-
90
- describe "#update" do
91
- before do
92
- use_mock_user
93
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
94
- end
95
-
96
- it "allows shipping address attributes through" do
97
- expect(mock_user).to receive(:update_attributes).with(ActionController::Parameters.new(
98
- "ship_address_attributes" => { "city" => "New York" }
99
- ).permit(ship_address_attributes: permitted_address_attributes))
100
- spree_put :update, id: mock_user.id, user: { ship_address_attributes: { city: "New York" } }
101
- end
102
-
103
- it "allows billing address attributes through" do
104
- expect(mock_user).to receive(:update_attributes).with(ActionController::Parameters.new(
105
- "bill_address_attributes" => { "city" => "New York" }
106
- ).permit(bill_address_attributes: permitted_address_attributes))
107
- spree_put :update, id: mock_user.id, user: { bill_address_attributes: { city: "New York" } }
108
- end
109
-
110
- it "allows updating without password resetting" do
111
- expect(mock_user).to receive(:update_attributes).with(hash_not_including(password: '', password_confirmation: ''))
112
- spree_put :update, id: mock_user.id, user: { password: '', password_confirmation: '', email: 'spree@example.com' }
113
- end
114
- end
115
-
116
- describe "#orders" do
117
- let(:order) { create(:order) }
118
- before do
119
- user.orders << order
120
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
121
- end
122
-
123
- it "assigns a list of the users orders" do
124
- spree_get :orders, { id: user.id }
125
- expect(assigns[:orders].count).to eq 1
126
- expect(assigns[:orders].first).to eq order
127
- end
128
-
129
- it "assigns a ransack search for Spree::Order" do
130
- spree_get :orders, { id: user.id }
131
- expect(assigns[:search]).to be_a Ransack::Search
132
- expect(assigns[:search].klass).to eq Spree::Order
133
- end
134
- end
135
-
136
- describe "#items" do
137
- let(:order) { create(:order) }
138
- before do
139
- user.orders << order
140
- user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
141
- end
142
-
143
- it "assigns a list of the users orders" do
144
- spree_get :items, { id: user.id }
145
- expect(assigns[:orders].count).to eq 1
146
- expect(assigns[:orders].first).to eq order
147
- end
148
-
149
- it "assigns a ransack search for Spree::Order" do
150
- spree_get :items, { id: user.id }
151
- expect(assigns[:search]).to be_a Ransack::Search
152
- expect(assigns[:search].klass).to eq Spree::Order
153
- end
154
- end
155
- end
156
-
157
- def use_mock_user
158
- allow(mock_user).to receive(:save).and_return(true)
159
- allow(Spree.user_class).to receive(:find).with(mock_user.id.to_s).and_return(mock_user)
160
- allow(Spree.user_class).to receive(:new).and_return(mock_user)
161
- end
@@ -1,32 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Spree
4
- module Admin
5
- describe VariantsController, type: :controller do
6
- stub_authorization!
7
-
8
- describe "#index" do
9
- let(:product) { create(:product) }
10
- let!(:variant_1) { create(:variant, product: product) }
11
- let!(:variant_2) { create(:variant, product: product) }
12
-
13
- context "deleted is not requested" do
14
- it "assigns the variants for a requested product" do
15
- spree_get :index, product_id: product.slug
16
- expect(assigns(:collection)).to include variant_1
17
- expect(assigns(:collection)).to include variant_2
18
- end
19
- end
20
-
21
- context "deleted is requested" do
22
- before { variant_2.destroy }
23
- it "assigns only deleted variants for a requested product" do
24
- spree_get :index, product_id: product.slug, deleted: "on"
25
- expect(assigns(:collection)).not_to include variant_1
26
- expect(assigns(:collection)).to include variant_2
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,47 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Analytics Tracker", type: :feature do
4
- stub_authorization!
5
-
6
- context "index" do
7
- before(:each) do
8
- create(:tracker)
9
- create(:tracker, analytics_id: 'A200')
10
- visit spree.admin_trackers_path
11
- end
12
-
13
- it "should have the right content" do
14
- expect(page).to have_content("Analytics Trackers")
15
- end
16
-
17
- it "should have the right tabular values displayed" do
18
- within_row(1) do
19
- expect(column_text(1)).to eq("A100")
20
- expect(column_text(2)).to eq("Yes")
21
- end
22
-
23
- within_row(2) do
24
- expect(column_text(1)).to eq("A200")
25
- expect(column_text(2)).to eq("Yes")
26
- end
27
- end
28
- end
29
-
30
- context "create" do
31
- before(:each) do
32
- visit spree.admin_trackers_path
33
- end
34
-
35
- it "should be able to create a new analytics tracker" do
36
- click_link "admin_new_tracker_link"
37
- fill_in "tracker_analytics_id", with: "A100"
38
- click_button "Create"
39
-
40
- expect(page).to have_content("successfully created!")
41
- within_row(1) do
42
- expect(column_text(1)).to eq("A100")
43
- expect(column_text(2)).to eq("Yes")
44
- end
45
- end
46
- end
47
- end