solidus_api 2.2.2 → 2.3.0.beta1
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.
Potentially problematic release.
This version of solidus_api might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/spree/api/images_controller.rb +2 -2
- data/app/controllers/spree/api/line_items_controller.rb +2 -10
- data/app/controllers/spree/api/orders_controller.rb +2 -12
- data/app/controllers/spree/api/payments_controller.rb +0 -1
- data/app/controllers/spree/api/promotions_controller.rb +1 -1
- data/app/controllers/spree/api/variants_controller.rb +2 -1
- data/app/views/spree/api/orders/show.v1.rabl +2 -1
- data/lib/spree/api/testing_support/setup.rb +1 -1
- data/spec/controllers/spree/api/base_controller_spec.rb +7 -7
- data/spec/controllers/spree/api/resource_controller_spec.rb +16 -16
- data/spec/requests/api/address_books_spec.rb +1 -1
- data/spec/{controllers → requests}/spree/api/addresses_controller_spec.rb +6 -9
- data/spec/{controllers → requests}/spree/api/checkouts_controller_spec.rb +38 -69
- data/spec/{controllers → requests}/spree/api/classifications_controller_spec.rb +4 -4
- data/spec/{controllers → requests}/spree/api/config_controller_spec.rb +3 -4
- data/spec/{controllers → requests}/spree/api/countries_controller_spec.rb +6 -7
- data/spec/{controllers → requests}/spree/api/credit_cards_controller_spec.rb +8 -9
- data/spec/{controllers → requests}/spree/api/images_controller_spec.rb +19 -16
- data/spec/{controllers → requests}/spree/api/inventory_units_controller_spec.rb +17 -14
- data/spec/{controllers → requests}/spree/api/line_items_controller_spec.rb +32 -32
- data/spec/{controllers → requests}/spree/api/option_types_controller_spec.rb +27 -27
- data/spec/{controllers → requests}/spree/api/option_values_controller_spec.rb +32 -29
- data/spec/{controllers → requests}/spree/api/orders_controller_spec.rb +103 -133
- data/spec/{controllers → requests}/spree/api/payments_controller_spec.rb +30 -44
- data/spec/{controllers → requests}/spree/api/product_properties_controller_spec.rb +15 -17
- data/spec/{controllers → requests}/spree/api/products_controller_spec.rb +44 -43
- data/spec/{controllers → requests}/spree/api/promotion_application_spec.rb +3 -4
- data/spec/{controllers → requests}/spree/api/promotions_controller_spec.rb +8 -6
- data/spec/{controllers → requests}/spree/api/properties_controller_spec.rb +15 -16
- data/spec/{controllers → requests}/spree/api/return_authorizations_controller_spec.rb +19 -21
- data/spec/requests/spree/api/shipments_controller_spec.rb +394 -88
- data/spec/{controllers → requests}/spree/api/states_controller_spec.rb +8 -9
- data/spec/{controllers → requests}/spree/api/stock_items_controller_spec.rb +21 -21
- data/spec/{controllers → requests}/spree/api/stock_locations_controller_spec.rb +18 -20
- data/spec/{controllers → requests}/spree/api/stock_movements_controller_spec.rb +9 -12
- data/spec/{controllers → requests}/spree/api/stock_transfers_controller_spec.rb +2 -3
- data/spec/requests/spree/api/store_credit_events_controller_spec.rb +57 -0
- data/spec/{controllers → requests}/spree/api/stores_controller_spec.rb +19 -20
- data/spec/{controllers → requests}/spree/api/taxonomies_controller_spec.rb +14 -15
- data/spec/{controllers → requests}/spree/api/taxons_controller_spec.rb +17 -18
- data/spec/{controllers → requests}/spree/api/transfer_items_controller_spec.rb +7 -9
- data/spec/{controllers → requests}/spree/api/unauthenticated_products_controller_spec.rb +2 -3
- data/spec/{controllers → requests}/spree/api/users_controller_spec.rb +18 -19
- data/spec/{controllers → requests}/spree/api/variants_controller_spec.rb +70 -37
- data/spec/{controllers → requests}/spree/api/zones_controller_spec.rb +13 -14
- data/spec/shared_examples/protect_product_actions.rb +3 -3
- data/spec/spec_helper.rb +4 -1
- metadata +70 -72
- data/spec/controllers/spree/api/shipments_controller_spec.rb +0 -301
- data/spec/controllers/spree/api/store_credit_events_controller_spec.rb +0 -66
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::StatesController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::StatesController, type: :request do
|
6
5
|
|
7
6
|
let!(:state) { create(:state, name: "Victoria") }
|
8
7
|
let(:attributes) { [:id, :name, :abbr, :country_id] }
|
@@ -12,13 +11,13 @@ module Spree
|
|
12
11
|
end
|
13
12
|
|
14
13
|
it "gets all states" do
|
15
|
-
|
14
|
+
get spree.api_states_path
|
16
15
|
expect(json_response["states"].first).to have_attributes(attributes)
|
17
16
|
expect(json_response['states'].first['name']).to eq(state.name)
|
18
17
|
end
|
19
18
|
|
20
19
|
it "gets all the states for a particular country" do
|
21
|
-
|
20
|
+
get spree.api_country_states_path(state.country)
|
22
21
|
expect(json_response["states"].first).to have_attributes(attributes)
|
23
22
|
expect(json_response['states'].first['name']).to eq(state.name)
|
24
23
|
end
|
@@ -26,7 +25,7 @@ module Spree
|
|
26
25
|
context "pagination" do
|
27
26
|
it "can select the next page and control page size" do
|
28
27
|
create(:state)
|
29
|
-
|
28
|
+
get spree.api_states_path, params: { page: 2, per_page: 1 }
|
30
29
|
|
31
30
|
expect(json_response["states"].size).to eq(1)
|
32
31
|
expect(json_response["pages"]).to eq(2)
|
@@ -43,25 +42,25 @@ module Spree
|
|
43
42
|
state.country = country
|
44
43
|
state.save
|
45
44
|
|
46
|
-
|
45
|
+
get spree.api_country_states_path(country)
|
47
46
|
expect(json_response["states"].first).to have_attributes(attributes)
|
48
47
|
expect(json_response["states"].count).to eq(1)
|
49
48
|
json_response["states_required"] = true
|
50
49
|
end
|
51
50
|
|
52
51
|
it "can view all states" do
|
53
|
-
|
52
|
+
get spree.api_states_path
|
54
53
|
expect(json_response["states"].first).to have_attributes(attributes)
|
55
54
|
end
|
56
55
|
|
57
56
|
it 'can query the results through a paramter' do
|
58
|
-
|
57
|
+
get spree.api_states_path, params: { q: { name_cont: 'Vic' } }
|
59
58
|
expect(json_response['states'].first['name']).to eq("Victoria")
|
60
59
|
end
|
61
60
|
end
|
62
61
|
|
63
62
|
it "can view a state" do
|
64
|
-
|
63
|
+
get spree.api_state_path(state)
|
65
64
|
expect(json_response).to have_attributes(attributes)
|
66
65
|
end
|
67
66
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::StockItemsController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::StockItemsController, type: :request do
|
6
5
|
|
7
6
|
let!(:stock_location) { create(:stock_location_with_items) }
|
8
7
|
let!(:stock_item) { stock_location.stock_items.order(:id).first }
|
@@ -18,7 +17,7 @@ module Spree
|
|
18
17
|
context "as a normal user" do
|
19
18
|
describe "#index" do
|
20
19
|
it "can list stock items for an active stock location" do
|
21
|
-
|
20
|
+
get spree.api_stock_location_stock_items_path(stock_location)
|
22
21
|
expect(response).to be_success
|
23
22
|
expect(json_response['stock_items'].first).to have_attributes(attributes)
|
24
23
|
expect(json_response['stock_items'].first['variant']['sku']).to match /\ASKU-\d+\z/
|
@@ -26,21 +25,21 @@ module Spree
|
|
26
25
|
|
27
26
|
it "cannot list stock items for an inactive stock location" do
|
28
27
|
stock_location.update_attributes!(active: false)
|
29
|
-
|
28
|
+
get spree.api_stock_location_stock_items_path(stock_location)
|
30
29
|
expect(response).to be_not_found
|
31
30
|
end
|
32
31
|
end
|
33
32
|
|
34
33
|
describe "#show" do
|
35
34
|
it "can see a stock item for an active stock location" do
|
36
|
-
|
35
|
+
get spree.api_stock_location_stock_item_path(stock_location, stock_item)
|
37
36
|
expect(json_response).to have_attributes(attributes)
|
38
37
|
expect(json_response['count_on_hand']).to eq stock_item.count_on_hand
|
39
38
|
end
|
40
39
|
|
41
40
|
it "cannot see a stock item for an inactive stock location" do
|
42
41
|
stock_location.update_attributes!(active: false)
|
43
|
-
|
42
|
+
get spree.api_stock_location_stock_item_path(stock_location, stock_item)
|
44
43
|
expect(response.status).to eq(404)
|
45
44
|
end
|
46
45
|
end
|
@@ -49,28 +48,27 @@ module Spree
|
|
49
48
|
it "cannot create a stock item" do
|
50
49
|
variant = create(:variant)
|
51
50
|
params = {
|
52
|
-
stock_location_id: stock_location.to_param,
|
53
51
|
stock_item: {
|
54
52
|
variant_id: variant.id,
|
55
53
|
count_on_hand: '20'
|
56
54
|
}
|
57
55
|
}
|
58
56
|
|
59
|
-
|
57
|
+
post spree.api_stock_location_stock_items_path(stock_location), params: params
|
60
58
|
expect(response.status).to eq(401)
|
61
59
|
end
|
62
60
|
end
|
63
61
|
|
64
62
|
describe "#update" do
|
65
63
|
it "cannot update a stock item" do
|
66
|
-
|
64
|
+
put spree.api_stock_location_stock_item_path(stock_location, stock_item)
|
67
65
|
expect(response.status).to eq(404)
|
68
66
|
end
|
69
67
|
end
|
70
68
|
|
71
69
|
describe "#destroy" do
|
72
70
|
it "cannot destroy a stock item" do
|
73
|
-
|
71
|
+
delete spree.api_stock_location_stock_item_path(stock_location, stock_item)
|
74
72
|
expect(response.status).to eq(404)
|
75
73
|
end
|
76
74
|
end
|
@@ -79,33 +77,33 @@ module Spree
|
|
79
77
|
context "as an admin" do
|
80
78
|
sign_in_as_admin!
|
81
79
|
|
82
|
-
it '
|
83
|
-
|
80
|
+
it 'can list stock items' do
|
81
|
+
get spree.api_stock_location_stock_items_path(stock_location)
|
84
82
|
expect(json_response['stock_items'].first).to have_attributes(attributes)
|
85
83
|
expect(json_response['stock_items'].first['variant']['sku']).to include 'SKU'
|
86
84
|
end
|
87
85
|
|
88
86
|
it 'requires a stock_location_id to be passed as a parameter' do
|
89
|
-
|
87
|
+
get spree.api_stock_items_path
|
90
88
|
expect(json_response['exception']).to eq('param is missing or the value is empty: stock_location_id')
|
91
89
|
expect(response.status).to eq(422)
|
92
90
|
end
|
93
91
|
|
94
92
|
it 'can control the page size through a parameter' do
|
95
|
-
|
93
|
+
get spree.api_stock_location_stock_items_path(stock_location), params: { per_page: 1 }
|
96
94
|
expect(json_response['count']).to eq(1)
|
97
95
|
expect(json_response['current_page']).to eq(1)
|
98
96
|
end
|
99
97
|
|
100
98
|
it 'can query the results through a paramter' do
|
101
99
|
stock_item.update_column(:count_on_hand, 30)
|
102
|
-
|
100
|
+
get spree.api_stock_location_stock_items_path(stock_location), params: { q: { count_on_hand_eq: '30' } }
|
103
101
|
expect(json_response['count']).to eq(1)
|
104
102
|
expect(json_response['stock_items'].first['count_on_hand']).to eq 30
|
105
103
|
end
|
106
104
|
|
107
105
|
it 'gets a stock item' do
|
108
|
-
|
106
|
+
get spree.api_stock_location_stock_item_path(stock_location, stock_item)
|
109
107
|
expect(json_response).to have_attributes(attributes)
|
110
108
|
expect(json_response['count_on_hand']).to eq stock_item.count_on_hand
|
111
109
|
end
|
@@ -121,7 +119,6 @@ module Spree
|
|
121
119
|
let(:count_on_hand) { '20' }
|
122
120
|
let(:params) do
|
123
121
|
{
|
124
|
-
stock_location_id: stock_location.to_param,
|
125
122
|
stock_item: {
|
126
123
|
variant_id: variant.id,
|
127
124
|
count_on_hand: count_on_hand
|
@@ -129,7 +126,9 @@ module Spree
|
|
129
126
|
}
|
130
127
|
end
|
131
128
|
|
132
|
-
subject
|
129
|
+
subject do
|
130
|
+
post spree.api_stock_location_stock_items_path(stock_location), params: params
|
131
|
+
end
|
133
132
|
|
134
133
|
it 'can create a new stock item' do
|
135
134
|
subject
|
@@ -181,13 +180,14 @@ module Spree
|
|
181
180
|
expect(stock_item.count_on_hand).to eq 10
|
182
181
|
end
|
183
182
|
|
184
|
-
subject
|
183
|
+
subject do
|
184
|
+
put spree.api_stock_item_path(stock_item), params: params
|
185
|
+
end
|
185
186
|
|
186
187
|
context 'adjusting count_on_hand' do
|
187
188
|
let(:count_on_hand) { 40 }
|
188
189
|
let(:params) do
|
189
190
|
{
|
190
|
-
id: stock_item.to_param,
|
191
191
|
stock_item: {
|
192
192
|
count_on_hand: count_on_hand,
|
193
193
|
backorderable: true
|
@@ -301,7 +301,7 @@ module Spree
|
|
301
301
|
end
|
302
302
|
|
303
303
|
it 'can delete a stock item' do
|
304
|
-
|
304
|
+
delete spree.api_stock_item_path(stock_item)
|
305
305
|
expect(response.status).to eq(204)
|
306
306
|
expect { Spree::StockItem.find(stock_item.id) }.to raise_error(ActiveRecord::RecordNotFound)
|
307
307
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::StockLocationsController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::StockLocationsController, type: :request do
|
6
5
|
|
7
6
|
let!(:stock_location) { create(:stock_location) }
|
8
7
|
let!(:attributes) { [:id, :name, :address1, :address2, :city, :state_id, :state_name, :country_id, :zipcode, :phone, :active] }
|
@@ -14,7 +13,7 @@ module Spree
|
|
14
13
|
context "as a user" do
|
15
14
|
describe "#index" do
|
16
15
|
it "can see active stock locations" do
|
17
|
-
|
16
|
+
get spree.api_stock_locations_path
|
18
17
|
expect(response).to be_success
|
19
18
|
stock_locations = json_response['stock_locations'].map { |sl| sl['name'] }
|
20
19
|
expect(stock_locations).to include stock_location.name
|
@@ -22,7 +21,7 @@ module Spree
|
|
22
21
|
|
23
22
|
it "cannot see inactive stock locations" do
|
24
23
|
stock_location.update_attributes!(active: false)
|
25
|
-
|
24
|
+
get spree.api_stock_locations_path
|
26
25
|
expect(response).to be_success
|
27
26
|
stock_locations = json_response['stock_locations'].map { |sl| sl['name'] }
|
28
27
|
expect(stock_locations).not_to include stock_location.name
|
@@ -31,14 +30,14 @@ module Spree
|
|
31
30
|
|
32
31
|
describe "#show" do
|
33
32
|
it "can see active stock locations" do
|
34
|
-
|
33
|
+
get spree.api_stock_location_path(stock_location)
|
35
34
|
expect(response).to be_success
|
36
35
|
expect(json_response['name']).to eq stock_location.name
|
37
36
|
end
|
38
37
|
|
39
38
|
it "cannot see inactive stock locations" do
|
40
39
|
stock_location.update_attributes!(active: false)
|
41
|
-
|
40
|
+
get spree.api_stock_location_path(stock_location)
|
42
41
|
expect(response).to be_not_found
|
43
42
|
end
|
44
43
|
end
|
@@ -52,21 +51,21 @@ module Spree
|
|
52
51
|
}
|
53
52
|
}
|
54
53
|
|
55
|
-
|
54
|
+
post spree.api_stock_locations_path, params: params
|
56
55
|
expect(response.status).to eq(401)
|
57
56
|
end
|
58
57
|
end
|
59
58
|
|
60
59
|
describe "#update" do
|
61
60
|
it "cannot update a stock location" do
|
62
|
-
|
61
|
+
put spree.api_stock_location_path(stock_location), params: { stock_location: { name: "South Pole" } }
|
63
62
|
expect(response.status).to eq(401)
|
64
63
|
end
|
65
64
|
end
|
66
65
|
|
67
66
|
describe "#destroy" do
|
68
67
|
it "cannot delete a stock location" do
|
69
|
-
|
68
|
+
delete spree.api_stock_location_path(stock_location)
|
70
69
|
expect(response.status).to eq(401)
|
71
70
|
end
|
72
71
|
end
|
@@ -77,7 +76,7 @@ module Spree
|
|
77
76
|
|
78
77
|
describe "#index" do
|
79
78
|
it "can see active stock locations" do
|
80
|
-
|
79
|
+
get spree.api_stock_locations_path
|
81
80
|
expect(response).to be_success
|
82
81
|
stock_locations = json_response['stock_locations'].map { |sl| sl['name'] }
|
83
82
|
expect(stock_locations).to include stock_location.name
|
@@ -85,14 +84,14 @@ module Spree
|
|
85
84
|
|
86
85
|
it "can see inactive stock locations" do
|
87
86
|
stock_location.update_attributes!(active: false)
|
88
|
-
|
87
|
+
get spree.api_stock_locations_path
|
89
88
|
expect(response).to be_success
|
90
89
|
stock_locations = json_response['stock_locations'].map { |sl| sl['name'] }
|
91
90
|
expect(stock_locations).to include stock_location.name
|
92
91
|
end
|
93
92
|
|
94
93
|
it "gets stock location information" do
|
95
|
-
|
94
|
+
get spree.api_stock_locations_path
|
96
95
|
expect(json_response['stock_locations'].first).to have_attributes(attributes)
|
97
96
|
expect(json_response['stock_locations'].first['country']).not_to be_nil
|
98
97
|
expect(json_response['stock_locations'].first['state']).not_to be_nil
|
@@ -100,7 +99,7 @@ module Spree
|
|
100
99
|
|
101
100
|
it 'can control the page size through a parameter' do
|
102
101
|
create(:stock_location)
|
103
|
-
|
102
|
+
get spree.api_stock_locations_path, params: { per_page: 1 }
|
104
103
|
expect(json_response['count']).to eq(1)
|
105
104
|
expect(json_response['current_page']).to eq(1)
|
106
105
|
expect(json_response['pages']).to eq(2)
|
@@ -108,7 +107,7 @@ module Spree
|
|
108
107
|
|
109
108
|
it 'can query the results through a paramter' do
|
110
109
|
expected_result = create(:stock_location, name: 'South America')
|
111
|
-
|
110
|
+
get spree.api_stock_locations_path, params: { q: { name_cont: 'south' } }
|
112
111
|
expect(json_response['count']).to eq(1)
|
113
112
|
expect(json_response['stock_locations'].first['name']).to eq expected_result.name
|
114
113
|
end
|
@@ -116,14 +115,14 @@ module Spree
|
|
116
115
|
|
117
116
|
describe "#show" do
|
118
117
|
it "can see active stock locations" do
|
119
|
-
|
118
|
+
get spree.api_stock_location_path(stock_location)
|
120
119
|
expect(response).to be_success
|
121
120
|
expect(json_response['name']).to eq stock_location.name
|
122
121
|
end
|
123
122
|
|
124
123
|
it "can see inactive stock locations" do
|
125
124
|
stock_location.update_attributes!(active: false)
|
126
|
-
|
125
|
+
get spree.api_stock_location_path(stock_location)
|
127
126
|
expect(response).to be_success
|
128
127
|
expect(json_response['name']).to eq stock_location.name
|
129
128
|
end
|
@@ -138,7 +137,7 @@ module Spree
|
|
138
137
|
}
|
139
138
|
}
|
140
139
|
|
141
|
-
|
140
|
+
post spree.api_stock_locations_path, params: params
|
142
141
|
expect(response.status).to eq(201)
|
143
142
|
expect(json_response).to have_attributes(attributes)
|
144
143
|
end
|
@@ -147,13 +146,12 @@ module Spree
|
|
147
146
|
describe "#update" do
|
148
147
|
it "can update a stock location" do
|
149
148
|
params = {
|
150
|
-
id: stock_location.to_param,
|
151
149
|
stock_location: {
|
152
150
|
name: "South Pole"
|
153
151
|
}
|
154
152
|
}
|
155
153
|
|
156
|
-
|
154
|
+
put spree.api_stock_location_path(stock_location), params: params
|
157
155
|
expect(response.status).to eq(200)
|
158
156
|
expect(json_response['name']).to eq 'South Pole'
|
159
157
|
end
|
@@ -161,7 +159,7 @@ module Spree
|
|
161
159
|
|
162
160
|
describe "#destroy" do
|
163
161
|
it "can delete a stock location" do
|
164
|
-
|
162
|
+
delete spree.api_stock_location_path(stock_location)
|
165
163
|
expect(response.status).to eq(204)
|
166
164
|
expect { stock_location.reload }.to raise_error(ActiveRecord::RecordNotFound)
|
167
165
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::StockMovementsController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::StockMovementsController, type: :request do
|
6
5
|
|
7
6
|
let!(:stock_location) { create(:stock_location_with_items) }
|
8
7
|
let!(:stock_item) { stock_location.stock_items.order(:id).first }
|
@@ -15,24 +14,23 @@ module Spree
|
|
15
14
|
|
16
15
|
context 'as a user' do
|
17
16
|
it 'cannot see a list of stock movements' do
|
18
|
-
|
17
|
+
get spree.api_stock_location_stock_movements_path(stock_location)
|
19
18
|
expect(response.status).to eq(401)
|
20
19
|
end
|
21
20
|
|
22
21
|
it 'cannot see a stock movement' do
|
23
|
-
|
22
|
+
get spree.api_stock_location_stock_movement_path(stock_location, stock_movement)
|
24
23
|
expect(response.status).to eq(404)
|
25
24
|
end
|
26
25
|
|
27
26
|
it 'cannot create a stock movement' do
|
28
27
|
params = {
|
29
|
-
stock_location_id: stock_location.to_param,
|
30
28
|
stock_movement: {
|
31
29
|
stock_item_id: stock_item.to_param
|
32
30
|
}
|
33
31
|
}
|
34
32
|
|
35
|
-
|
33
|
+
post spree.api_stock_location_stock_movements_path(stock_location), params: params
|
36
34
|
expect(response.status).to eq(401)
|
37
35
|
end
|
38
36
|
end
|
@@ -41,14 +39,14 @@ module Spree
|
|
41
39
|
sign_in_as_admin!
|
42
40
|
|
43
41
|
it 'gets list of stock movements' do
|
44
|
-
|
42
|
+
get spree.api_stock_location_stock_movements_path(stock_location)
|
45
43
|
expect(json_response['stock_movements'].first).to have_attributes(attributes)
|
46
44
|
expect(json_response['stock_movements'].first['stock_item']['count_on_hand']).to eq 11
|
47
45
|
end
|
48
46
|
|
49
47
|
it 'can control the page size through a parameter' do
|
50
48
|
create(:stock_movement, stock_item: stock_item)
|
51
|
-
|
49
|
+
get spree.api_stock_location_stock_movements_path(stock_location), params: { per_page: 1 }
|
52
50
|
expect(json_response['count']).to eq(1)
|
53
51
|
expect(json_response['current_page']).to eq(1)
|
54
52
|
expect(json_response['pages']).to eq(2)
|
@@ -56,25 +54,24 @@ module Spree
|
|
56
54
|
|
57
55
|
it 'can query the results through a paramter' do
|
58
56
|
create(:stock_movement, :received, quantity: 10, stock_item: stock_item)
|
59
|
-
|
57
|
+
get spree.api_stock_location_stock_movements_path(stock_location), params: { q: { quantity_eq: '10' } }
|
60
58
|
expect(json_response['count']).to eq(1)
|
61
59
|
end
|
62
60
|
|
63
61
|
it 'gets a stock movement' do
|
64
|
-
|
62
|
+
get spree.api_stock_location_stock_movement_path(stock_location, stock_movement)
|
65
63
|
expect(json_response).to have_attributes(attributes)
|
66
64
|
expect(json_response['stock_item_id']).to eq stock_movement.stock_item_id
|
67
65
|
end
|
68
66
|
|
69
67
|
it 'can create a new stock movement' do
|
70
68
|
params = {
|
71
|
-
stock_location_id: stock_location.to_param,
|
72
69
|
stock_movement: {
|
73
70
|
stock_item_id: stock_item.to_param
|
74
71
|
}
|
75
72
|
}
|
76
73
|
|
77
|
-
|
74
|
+
post spree.api_stock_location_stock_movements_path(stock_location), params: params
|
78
75
|
expect(response.status).to eq(201)
|
79
76
|
expect(json_response).to have_attributes(attributes)
|
80
77
|
end
|