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
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Spree
|
4
4
|
describe Api::StockTransfersController do
|
5
|
-
render_views
|
6
5
|
|
7
6
|
let!(:stock_transfer) { create(:stock_transfer_with_items) }
|
8
7
|
let(:transfer_item) { stock_transfer.transfer_items.first }
|
@@ -14,7 +13,7 @@ module Spree
|
|
14
13
|
context "as a normal user" do
|
15
14
|
describe "#receive" do
|
16
15
|
it "cannot receive transfer items from a stock transfer" do
|
17
|
-
|
16
|
+
post spree.receive_api_stock_transfer_path(stock_transfer), params: { variant_id: transfer_item.variant }
|
18
17
|
expect(response.status).to eq 401
|
19
18
|
end
|
20
19
|
end
|
@@ -25,7 +24,7 @@ module Spree
|
|
25
24
|
|
26
25
|
describe "#receive" do
|
27
26
|
subject do
|
28
|
-
|
27
|
+
post spree.receive_api_stock_transfer_path(stock_transfer), params: { variant_id: variant_id }
|
29
28
|
end
|
30
29
|
|
31
30
|
context "valid parameters" do
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Spree::Api::StoreCreditEventsController, type: :request do
|
4
|
+
let(:api_user) { create(:user, :with_api_key) }
|
5
|
+
|
6
|
+
describe "GET mine" do
|
7
|
+
subject do
|
8
|
+
get spree.mine_api_store_credit_events_path(format: :json), headers: { 'X-Spree-Token' => api_key }
|
9
|
+
end
|
10
|
+
|
11
|
+
context "no current api user" do
|
12
|
+
let(:api_key) { nil }
|
13
|
+
|
14
|
+
before { subject }
|
15
|
+
|
16
|
+
it "returns a 401" do
|
17
|
+
expect(response.status).to eq 401
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "the current api user is authenticated" do
|
22
|
+
let(:current_api_user) { create(:user, :with_api_key) }
|
23
|
+
let(:api_key) { current_api_user.spree_api_key }
|
24
|
+
|
25
|
+
context "the user doesn't have store credit" do
|
26
|
+
before { subject }
|
27
|
+
|
28
|
+
it "should set the events variable to empty list" do
|
29
|
+
expect(json_response["store_credit_events"]).to eq []
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns a 200" do
|
33
|
+
expect(response.status).to eq 200
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "the user has store credit" do
|
38
|
+
let!(:store_credit) { create(:store_credit, user: current_api_user) }
|
39
|
+
|
40
|
+
before { subject }
|
41
|
+
|
42
|
+
it "should contain the store credit allocation event" do
|
43
|
+
expect(json_response["store_credit_events"].size).to eq 1
|
44
|
+
expect(json_response["store_credit_events"][0]).to include(
|
45
|
+
"display_amount" => "$150.00",
|
46
|
+
"display_user_total_amount" => "$150.00",
|
47
|
+
"display_action" => "Added"
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "returns a 200" do
|
52
|
+
expect(response.status).to eq 200
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::StoresController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::StoresController, type: :request do
|
6
5
|
|
7
6
|
let!(:store) do
|
8
7
|
create(:store, name: "My Spree Store", url: "spreestore.example.com")
|
@@ -23,8 +22,8 @@ module Spree
|
|
23
22
|
)
|
24
23
|
end
|
25
24
|
|
26
|
-
it "
|
27
|
-
|
25
|
+
it "can list the available stores" do
|
26
|
+
get spree.api_stores_path
|
28
27
|
expect(json_response["stores"]).to match_array([
|
29
28
|
{
|
30
29
|
"id" => store.id,
|
@@ -53,8 +52,8 @@ module Spree
|
|
53
52
|
])
|
54
53
|
end
|
55
54
|
|
56
|
-
it "
|
57
|
-
|
55
|
+
it "can get the store details" do
|
56
|
+
get spree.api_store_path(store)
|
58
57
|
expect(json_response).to eq(
|
59
58
|
"id" => store.id,
|
60
59
|
"name" => "My Spree Store",
|
@@ -69,23 +68,23 @@ module Spree
|
|
69
68
|
)
|
70
69
|
end
|
71
70
|
|
72
|
-
it "
|
71
|
+
it "can create a new store" do
|
73
72
|
store_hash = {
|
74
73
|
code: "spree123",
|
75
74
|
name: "Hack0rz",
|
76
75
|
url: "spree123.example.com",
|
77
76
|
mail_from_address: "me@example.com"
|
78
77
|
}
|
79
|
-
|
78
|
+
post spree.api_stores_path, params: { store: store_hash }
|
80
79
|
expect(response.status).to eq(201)
|
81
80
|
end
|
82
81
|
|
83
|
-
it "
|
82
|
+
it "can update an existing store" do
|
84
83
|
store_hash = {
|
85
84
|
url: "spree123.example.com",
|
86
85
|
mail_from_address: "me@example.com"
|
87
86
|
}
|
88
|
-
|
87
|
+
put spree.api_store_path(store), params: { store: store_hash }
|
89
88
|
expect(response.status).to eq(200)
|
90
89
|
expect(store.reload.url).to eql "spree123.example.com"
|
91
90
|
expect(store.reload.mail_from_address).to eql "me@example.com"
|
@@ -93,7 +92,7 @@ module Spree
|
|
93
92
|
|
94
93
|
context "deleting a store" do
|
95
94
|
it "will fail if it's the default Store" do
|
96
|
-
|
95
|
+
delete spree.api_store_path(store)
|
97
96
|
expect(response.status).to eq(422)
|
98
97
|
expect(json_response["errors"]["base"]).to eql(
|
99
98
|
["Cannot destroy the default Store."]
|
@@ -101,30 +100,30 @@ module Spree
|
|
101
100
|
end
|
102
101
|
|
103
102
|
it "will destroy the store" do
|
104
|
-
|
103
|
+
delete spree.api_store_path(non_default_store)
|
105
104
|
expect(response.status).to eq(204)
|
106
105
|
end
|
107
106
|
end
|
108
107
|
end
|
109
108
|
|
110
109
|
context "as an user" do
|
111
|
-
it "
|
112
|
-
|
110
|
+
it "cannot list all the stores" do
|
111
|
+
get spree.api_stores_path
|
113
112
|
expect(response.status).to eq(401)
|
114
113
|
end
|
115
114
|
|
116
|
-
it "
|
117
|
-
|
115
|
+
it "cannot get the store details" do
|
116
|
+
get spree.api_store_path(store)
|
118
117
|
expect(response.status).to eq(401)
|
119
118
|
end
|
120
119
|
|
121
|
-
it "
|
122
|
-
|
120
|
+
it "cannot create a new store" do
|
121
|
+
post spree.api_stores_path, params: { store: {} }
|
123
122
|
expect(response.status).to eq(401)
|
124
123
|
end
|
125
124
|
|
126
|
-
it "
|
127
|
-
|
125
|
+
it "cannot update an existing store" do
|
126
|
+
put spree.api_store_path(store), params: { store: {} }
|
128
127
|
expect(response.status).to eq(401)
|
129
128
|
end
|
130
129
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::TaxonomiesController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::TaxonomiesController, type: :request do
|
6
5
|
|
7
6
|
let(:taxonomy) { create(:taxonomy) }
|
8
7
|
let(:taxon) { create(:taxon, name: "Ruby", taxonomy: taxonomy) }
|
@@ -18,7 +17,7 @@ module Spree
|
|
18
17
|
|
19
18
|
context "as a normal user" do
|
20
19
|
it "gets all taxonomies" do
|
21
|
-
|
20
|
+
get spree.api_taxonomies_path
|
22
21
|
|
23
22
|
expect(json_response["taxonomies"].first['name']).to eq taxonomy.name
|
24
23
|
expect(json_response["taxonomies"].first['root']['taxons'].count).to eq 1
|
@@ -26,7 +25,7 @@ module Spree
|
|
26
25
|
|
27
26
|
it 'can control the page size through a parameter' do
|
28
27
|
create(:taxonomy)
|
29
|
-
|
28
|
+
get spree.api_taxonomies_path, params: { per_page: 1 }
|
30
29
|
expect(json_response['count']).to eq(1)
|
31
30
|
expect(json_response['current_page']).to eq(1)
|
32
31
|
expect(json_response['pages']).to eq(2)
|
@@ -34,13 +33,13 @@ module Spree
|
|
34
33
|
|
35
34
|
it 'can query the results through a paramter' do
|
36
35
|
expected_result = create(:taxonomy, name: 'Style')
|
37
|
-
|
36
|
+
get spree.api_taxonomies_path, params: { q: { name_cont: 'style' } }
|
38
37
|
expect(json_response['count']).to eq(1)
|
39
38
|
expect(json_response['taxonomies'].first['name']).to eq expected_result.name
|
40
39
|
end
|
41
40
|
|
42
41
|
it "gets a single taxonomy" do
|
43
|
-
|
42
|
+
get spree.api_taxonomy_path(taxonomy.id)
|
44
43
|
|
45
44
|
expect(json_response['name']).to eq taxonomy.name
|
46
45
|
|
@@ -51,7 +50,7 @@ module Spree
|
|
51
50
|
end
|
52
51
|
|
53
52
|
it "gets a single taxonomy with set=nested" do
|
54
|
-
|
53
|
+
get spree.api_taxonomy_path(taxonomy.id), params: { set: 'nested' }
|
55
54
|
|
56
55
|
expect(json_response['name']).to eq taxonomy.name
|
57
56
|
|
@@ -60,31 +59,31 @@ module Spree
|
|
60
59
|
end
|
61
60
|
|
62
61
|
it "gets the jstree-friendly version of a taxonomy" do
|
63
|
-
|
62
|
+
get spree.jstree_api_taxonomy_path(taxonomy.id)
|
64
63
|
expect(json_response["data"]).to eq(taxonomy.root.name)
|
65
64
|
expect(json_response["attr"]).to eq({ "id" => taxonomy.root.id, "name" => taxonomy.root.name })
|
66
65
|
expect(json_response["state"]).to eq("closed")
|
67
66
|
end
|
68
67
|
|
69
68
|
it "can learn how to create a new taxonomy" do
|
70
|
-
|
69
|
+
get spree.new_api_taxonomy_path(taxonomy.id)
|
71
70
|
expect(json_response["attributes"]).to eq(attributes.map(&:to_s))
|
72
71
|
required_attributes = json_response["required_attributes"]
|
73
72
|
expect(required_attributes).to include("name")
|
74
73
|
end
|
75
74
|
|
76
75
|
it "cannot create a new taxonomy if not an admin" do
|
77
|
-
|
76
|
+
post spree.api_taxonomies_path, params: { taxonomy: { name: "Location" } }
|
78
77
|
assert_unauthorized!
|
79
78
|
end
|
80
79
|
|
81
80
|
it "cannot update a taxonomy" do
|
82
|
-
|
81
|
+
put spree.api_taxonomy_path(taxonomy.id), params: { taxonomy: { name: "I hacked your store!" } }
|
83
82
|
assert_unauthorized!
|
84
83
|
end
|
85
84
|
|
86
85
|
it "cannot delete a taxonomy" do
|
87
|
-
|
86
|
+
delete spree.api_taxonomy_path(taxonomy.id)
|
88
87
|
assert_unauthorized!
|
89
88
|
end
|
90
89
|
end
|
@@ -93,19 +92,19 @@ module Spree
|
|
93
92
|
sign_in_as_admin!
|
94
93
|
|
95
94
|
it "can create" do
|
96
|
-
|
95
|
+
post spree.api_taxonomies_path, params: { taxonomy: { name: "Colors" } }
|
97
96
|
expect(json_response).to have_attributes(attributes)
|
98
97
|
expect(response.status).to eq(201)
|
99
98
|
end
|
100
99
|
|
101
100
|
it "cannot create a new taxonomy with invalid attributes" do
|
102
|
-
|
101
|
+
post spree.api_taxonomies_path, params: { taxonomy: {} }
|
103
102
|
expect(response.status).to eq(422)
|
104
103
|
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
105
104
|
end
|
106
105
|
|
107
106
|
it "can destroy" do
|
108
|
-
|
107
|
+
delete spree.api_taxonomy_path(taxonomy.id)
|
109
108
|
expect(response.status).to eq(204)
|
110
109
|
end
|
111
110
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
module Spree
|
4
|
-
describe Api::TaxonsController, type: :
|
5
|
-
render_views
|
4
|
+
describe Api::TaxonsController, type: :request do
|
6
5
|
|
7
6
|
let(:taxonomy) { create(:taxonomy) }
|
8
7
|
let(:taxon) { create(:taxon, name: "Ruby", taxonomy: taxonomy) }
|
@@ -18,7 +17,7 @@ module Spree
|
|
18
17
|
|
19
18
|
context "as a normal user" do
|
20
19
|
it "gets all taxons for a taxonomy" do
|
21
|
-
|
20
|
+
get spree.api_taxonomy_taxons_path(taxonomy)
|
22
21
|
|
23
22
|
expect(json_response['taxons'].first['name']).to eq taxon.name
|
24
23
|
children = json_response['taxons'].first['taxons']
|
@@ -29,7 +28,7 @@ module Spree
|
|
29
28
|
|
30
29
|
# Regression test for https://github.com/spree/spree/issues/4112
|
31
30
|
it "does not include children when asked not to" do
|
32
|
-
|
31
|
+
get spree.api_taxonomy_taxons_path(taxonomy), params: { without_children: 1 }
|
33
32
|
|
34
33
|
expect(json_response['taxons'].first['name']).to eq(taxon.name)
|
35
34
|
expect(json_response['taxons'].first['taxons']).to be_nil
|
@@ -39,7 +38,7 @@ module Spree
|
|
39
38
|
new_taxon = create(:taxon, name: "Go", taxonomy: taxonomy)
|
40
39
|
taxonomy.root.children << new_taxon
|
41
40
|
expect(taxonomy.root.children.count).to eql(2)
|
42
|
-
|
41
|
+
get spree.api_taxonomy_taxons_path(taxonomy), params: { page: 1, per_page: 1 }
|
43
42
|
expect(json_response["count"]).to eql(1)
|
44
43
|
expect(json_response["total_count"]).to eql(2)
|
45
44
|
expect(json_response["current_page"]).to eql(1)
|
@@ -50,7 +49,7 @@ module Spree
|
|
50
49
|
describe 'searching' do
|
51
50
|
context 'with a name' do
|
52
51
|
before do
|
53
|
-
|
52
|
+
get spree.api_taxons_path, params: { q: { name_cont: name } }
|
54
53
|
end
|
55
54
|
|
56
55
|
context 'with one result' do
|
@@ -74,7 +73,7 @@ module Spree
|
|
74
73
|
|
75
74
|
context 'with no filters' do
|
76
75
|
it "gets all taxons" do
|
77
|
-
|
76
|
+
get spree.api_taxons_path
|
78
77
|
|
79
78
|
expect(json_response['taxons'].first['name']).to eq taxonomy.root.name
|
80
79
|
children = json_response['taxons'].first['taxons']
|
@@ -86,14 +85,14 @@ module Spree
|
|
86
85
|
end
|
87
86
|
|
88
87
|
it "gets a single taxon" do
|
89
|
-
|
88
|
+
get spree.api_taxonomy_taxon_path(taxonomy, taxon.id)
|
90
89
|
|
91
90
|
expect(json_response['name']).to eq taxon.name
|
92
91
|
expect(json_response['taxons'].count).to eq 1
|
93
92
|
end
|
94
93
|
|
95
94
|
it "gets all taxons in JSTree form" do
|
96
|
-
|
95
|
+
get spree.jstree_api_taxonomy_taxon_path(taxonomy, taxon.id)
|
97
96
|
response = json_response.first
|
98
97
|
expect(response["data"]).to eq(taxon2.name)
|
99
98
|
expect(response["attr"]).to eq({ "name" => taxon2.name, "id" => taxon2.id })
|
@@ -101,24 +100,24 @@ module Spree
|
|
101
100
|
end
|
102
101
|
|
103
102
|
it "can learn how to create a new taxon" do
|
104
|
-
|
103
|
+
get spree.new_api_taxonomy_taxon_path(taxonomy)
|
105
104
|
expect(json_response["attributes"]).to eq(attributes.map(&:to_s))
|
106
105
|
required_attributes = json_response["required_attributes"]
|
107
106
|
expect(required_attributes).to include("name")
|
108
107
|
end
|
109
108
|
|
110
109
|
it "cannot create a new taxon if not an admin" do
|
111
|
-
|
110
|
+
post spree.api_taxonomy_taxons_path(taxonomy), params: { taxon: { name: "Location" } }
|
112
111
|
assert_unauthorized!
|
113
112
|
end
|
114
113
|
|
115
114
|
it "cannot update a taxon" do
|
116
|
-
|
115
|
+
put spree.api_taxonomy_taxon_path(taxonomy, taxon.id), params: { taxon: { name: "I hacked your store!" } }
|
117
116
|
assert_unauthorized!
|
118
117
|
end
|
119
118
|
|
120
119
|
it "cannot delete a taxon" do
|
121
|
-
|
120
|
+
delete spree.api_taxonomy_taxon_path(taxonomy, taxon.id)
|
122
121
|
assert_unauthorized!
|
123
122
|
end
|
124
123
|
end
|
@@ -127,7 +126,7 @@ module Spree
|
|
127
126
|
sign_in_as_admin!
|
128
127
|
|
129
128
|
it "can create" do
|
130
|
-
|
129
|
+
post spree.api_taxonomy_taxons_path(taxonomy), params: { taxon: { name: "Colors" } }
|
131
130
|
expect(json_response).to have_attributes(attributes)
|
132
131
|
expect(response.status).to eq(201)
|
133
132
|
|
@@ -140,14 +139,14 @@ module Spree
|
|
140
139
|
|
141
140
|
it "can update the position in the list" do
|
142
141
|
taxonomy.root.children << taxon2
|
143
|
-
|
142
|
+
put spree.api_taxonomy_taxon_path(taxonomy, taxon.id), params: { taxon: { parent_id: taxon.parent_id, child_index: 2 } }
|
144
143
|
expect(response.status).to eq(200)
|
145
144
|
expect(taxonomy.reload.root.children[0]).to eql taxon2
|
146
145
|
expect(taxonomy.reload.root.children[1]).to eql taxon
|
147
146
|
end
|
148
147
|
|
149
148
|
it "cannot create a new taxon with invalid attributes" do
|
150
|
-
|
149
|
+
post spree.api_taxonomy_taxons_path(taxonomy), params: { taxon: { foo: :bar } }
|
151
150
|
expect(response.status).to eq(422)
|
152
151
|
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
153
152
|
|
@@ -155,7 +154,7 @@ module Spree
|
|
155
154
|
end
|
156
155
|
|
157
156
|
it "cannot create a new taxon with invalid taxonomy_id" do
|
158
|
-
|
157
|
+
post spree.api_taxonomy_taxons_path(1000), params: { taxon: { name: "Colors" } }
|
159
158
|
expect(response.status).to eq(422)
|
160
159
|
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
161
160
|
|
@@ -167,7 +166,7 @@ module Spree
|
|
167
166
|
end
|
168
167
|
|
169
168
|
it "can destroy" do
|
170
|
-
|
169
|
+
delete spree.api_taxonomy_taxon_path(taxonomy, taxon.id)
|
171
170
|
expect(response.status).to eq(204)
|
172
171
|
end
|
173
172
|
end
|
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Spree
|
4
4
|
describe Api::TransferItemsController do
|
5
|
-
render_views
|
6
5
|
|
7
6
|
let!(:stock_transfer) { create(:stock_transfer_with_items) }
|
8
7
|
let(:transfer_item) { stock_transfer.transfer_items.first }
|
@@ -14,21 +13,21 @@ module Spree
|
|
14
13
|
context "as a normal user" do
|
15
14
|
describe "#create" do
|
16
15
|
it "cannot create a transfer item" do
|
17
|
-
|
16
|
+
post spree.api_stock_transfer_transfer_items_path(stock_transfer)
|
18
17
|
expect(response.status).to eq 401
|
19
18
|
end
|
20
19
|
end
|
21
20
|
|
22
21
|
describe "#update" do
|
23
22
|
it "cannot update a transfer item" do
|
24
|
-
|
23
|
+
put spree.api_stock_transfer_transfer_item_path(stock_transfer, transfer_item)
|
25
24
|
expect(response.status).to eq 401
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
29
28
|
describe "#destroy" do
|
30
29
|
it "cannot delete a transfer item" do
|
31
|
-
|
30
|
+
delete spree.api_stock_transfer_transfer_item_path(stock_transfer, transfer_item)
|
32
31
|
expect(response.status).to eq 401
|
33
32
|
end
|
34
33
|
end
|
@@ -40,13 +39,12 @@ module Spree
|
|
40
39
|
describe "#create" do
|
41
40
|
subject do
|
42
41
|
create_params = {
|
43
|
-
stock_transfer_id: stock_transfer.to_param,
|
44
42
|
transfer_item: {
|
45
43
|
variant_id: variant_id,
|
46
44
|
expected_quantity: 1
|
47
45
|
}
|
48
46
|
}
|
49
|
-
|
47
|
+
post spree.api_stock_transfer_transfer_items_path(stock_transfer), params: create_params
|
50
48
|
end
|
51
49
|
|
52
50
|
context "valid parameters" do
|
@@ -87,8 +85,8 @@ module Spree
|
|
87
85
|
|
88
86
|
describe "#update" do
|
89
87
|
subject do
|
90
|
-
update_params = {
|
91
|
-
|
88
|
+
update_params = { transfer_item: { received_quantity: received_quantity } }
|
89
|
+
put spree.api_stock_transfer_transfer_item_path(stock_transfer, transfer_item), params: update_params
|
92
90
|
end
|
93
91
|
|
94
92
|
context "valid parameters" do
|
@@ -119,7 +117,7 @@ module Spree
|
|
119
117
|
end
|
120
118
|
|
121
119
|
describe "#destroy" do
|
122
|
-
subject {
|
120
|
+
subject { delete spree.api_stock_transfer_transfer_item_path(stock_transfer, transfer_item) }
|
123
121
|
|
124
122
|
context "hasn't been finalized" do
|
125
123
|
it "can delete a transfer item" do
|