spree_api 3.0.0.rc3 → 3.0.0.rc4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -1
- data/app/controllers/spree/api/base_controller.rb +1 -1
- data/app/views/spree/api/variants/small.v1.rabl +1 -0
- data/config/routes.rb +0 -3
- data/lib/spree/api/testing_support/helpers.rb +1 -1
- data/spec/controllers/spree/api/base_controller_spec.rb +2 -16
- data/spec/controllers/spree/api/line_items_controller_spec.rb +4 -3
- data/spec/controllers/spree/api/orders_controller_spec.rb +1 -1
- data/spec/controllers/spree/api/users_controller_spec.rb +17 -17
- metadata +4 -7
- data/app/controllers/spree/api/config_controller.rb +0 -6
- data/spec/controllers/spree/api/config_controller_spec.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 289fb29c93471320f7597347942a3e5977c44376
|
4
|
+
data.tar.gz: f7286dcb7c91f8a12a0ea037629c87ed10acc163
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f51b957333c99f66c04f1552caaae42ab3c07dd130c915e592fec07b758f60a47d52eb033898dfb8812b2de6ec3ed92be28987b76f5f489da7bb0105b4d1038a
|
7
|
+
data.tar.gz: e86dd63722a692e1271acb5bd198ec1b694e792811d3abb13d7786358dbd01724b7cc2e1d8ea03e162ea9779cc834a59e36f08932bb35bc3162fea8737f61ec3
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,7 @@ attributes *variant_attributes
|
|
4
4
|
|
5
5
|
node(:display_price) { |p| p.display_price.to_s }
|
6
6
|
node(:options_text) { |v| v.options_text }
|
7
|
+
node(:track_inventory) { |v| v.should_track_inventory? }
|
7
8
|
node(:in_stock) { |v| v.in_stock? }
|
8
9
|
node(:is_backorderable) { |v| v.is_backorderable? }
|
9
10
|
node(:total_on_hand) { |v| v.total_on_hand }
|
data/config/routes.rb
CHANGED
@@ -118,9 +118,6 @@ Spree::Core::Engine.add_routes do
|
|
118
118
|
resources :stock_items, only: [:index, :update, :destroy]
|
119
119
|
resources :stores
|
120
120
|
|
121
|
-
get '/config/money', to: 'config#money'
|
122
|
-
get '/config', to: 'config#show'
|
123
|
-
|
124
121
|
put '/classifications', to: 'classifications#update', as: :classifications
|
125
122
|
get '/taxons/products', to: 'taxons#products', as: :taxon_products
|
126
123
|
end
|
@@ -22,7 +22,7 @@ module Spree
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def stub_authentication!
|
25
|
-
allow(Spree
|
25
|
+
allow(Spree.user_class).to receive(:find_by).with(hash_including(:spree_api_key)) { current_api_user }
|
26
26
|
end
|
27
27
|
|
28
28
|
# This method can be overriden (with a let block) inside a context
|
@@ -17,20 +17,6 @@ describe Spree::Api::BaseController, :type => :controller do
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
context "signed in as a user using an authentication extension" do
|
21
|
-
before do
|
22
|
-
user = double(:email => "spree@example.com")
|
23
|
-
allow(user).to receive_message_chain :spree_roles, pluck: []
|
24
|
-
allow(controller).to receive_messages :try_spree_current_user => user
|
25
|
-
end
|
26
|
-
|
27
|
-
it "can make a request" do
|
28
|
-
api_get :index
|
29
|
-
expect(json_response).to eq({ "products" => [] })
|
30
|
-
expect(response.status).to eq(200)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
20
|
context "when validating based on an order token" do
|
35
21
|
let!(:order) { create :order }
|
36
22
|
|
@@ -123,7 +109,7 @@ describe Spree::Api::BaseController, :type => :controller do
|
|
123
109
|
before do
|
124
110
|
user = double(email: "spree@example.com")
|
125
111
|
allow(user).to receive_message_chain :spree_roles, pluck: []
|
126
|
-
allow(
|
112
|
+
allow(Spree.user_class).to receive_messages find_by: user
|
127
113
|
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
|
128
114
|
r.draw { get 'foo' => 'fakes#foo' }
|
129
115
|
end
|
@@ -131,7 +117,7 @@ describe Spree::Api::BaseController, :type => :controller do
|
|
131
117
|
|
132
118
|
it 'should notify notify_error_during_processing' do
|
133
119
|
expect(MockHoneybadger).to receive(:notify_or_ignore).once.with(kind_of(Exception), rack_env: kind_of(Hash))
|
134
|
-
api_get :foo
|
120
|
+
api_get :foo, token: 123
|
135
121
|
expect(response.status).to eq(422)
|
136
122
|
end
|
137
123
|
end
|
@@ -21,8 +21,11 @@ module Spree
|
|
21
21
|
let(:attributes) { [:id, :quantity, :price, :variant, :total, :display_amount, :single_display_amount] }
|
22
22
|
let(:resource_scoping) { { :order_id => order.to_param } }
|
23
23
|
|
24
|
+
before do
|
25
|
+
stub_authentication!
|
26
|
+
end
|
27
|
+
|
24
28
|
it "can learn how to create a new line item" do
|
25
|
-
allow(controller).to receive_messages :try_spree_current_user => current_api_user
|
26
29
|
api_get :new
|
27
30
|
expect(json_response["attributes"]).to eq(["quantity", "price", "variant_id"])
|
28
31
|
required_attributes = json_response["required_attributes"]
|
@@ -48,7 +51,6 @@ module Spree
|
|
48
51
|
|
49
52
|
context "as the order owner" do
|
50
53
|
before do
|
51
|
-
allow(controller).to receive_messages :try_spree_current_user => current_api_user
|
52
54
|
allow_any_instance_of(Order).to receive_messages :user => current_api_user
|
53
55
|
end
|
54
56
|
|
@@ -157,7 +159,6 @@ module Spree
|
|
157
159
|
context "as just another user" do
|
158
160
|
before do
|
159
161
|
user = create(:user)
|
160
|
-
allow(controller).to receive_messages :try_spree_current_user => user
|
161
162
|
end
|
162
163
|
|
163
164
|
it "cannot add a new line item to the order" do
|
@@ -215,7 +215,7 @@ module Spree
|
|
215
215
|
allow(user).to receive_message_chain(:spree_roles, :pluck).and_return(["bar"])
|
216
216
|
allow(user).to receive(:has_spree_role?).with('bar').and_return(true)
|
217
217
|
allow(user).to receive(:has_spree_role?).with('admin').and_return(false)
|
218
|
-
allow(
|
218
|
+
allow(Spree.user_class).to receive_messages find_by: user
|
219
219
|
api_get :show, :id => order.to_param
|
220
220
|
expect(response.status).to eq(200)
|
221
221
|
end
|
@@ -4,42 +4,40 @@ module Spree
|
|
4
4
|
describe Api::UsersController, :type => :controller do
|
5
5
|
render_views
|
6
6
|
|
7
|
-
let(:user) { create(:user) }
|
7
|
+
let(:user) { create(:user, spree_api_key: rand) }
|
8
8
|
let(:stranger) { create(:user, :email => 'stranger@example.com') }
|
9
9
|
let(:attributes) { [:id, :email, :created_at, :updated_at] }
|
10
10
|
|
11
|
-
before { stub_authentication! }
|
12
|
-
|
13
11
|
context "as a normal user" do
|
14
|
-
before do
|
15
|
-
allow(controller).to receive_messages :try_spree_current_user => user
|
16
|
-
end
|
17
|
-
|
18
12
|
it "can get own details" do
|
19
|
-
api_get :show, :id
|
13
|
+
api_get :show, id: user.id, token: user.spree_api_key
|
20
14
|
|
21
15
|
expect(json_response['email']).to eq user.email
|
22
16
|
end
|
23
17
|
|
24
18
|
it "cannot get other users details" do
|
25
|
-
api_get :show, :id
|
19
|
+
api_get :show, id: stranger.id, token: user.spree_api_key
|
26
20
|
|
27
21
|
assert_not_found!
|
28
22
|
end
|
29
23
|
|
30
24
|
it "can learn how to create a new user" do
|
31
|
-
api_get :new
|
25
|
+
api_get :new, token: user.spree_api_key
|
32
26
|
expect(json_response["attributes"]).to eq(attributes.map(&:to_s))
|
33
27
|
end
|
34
28
|
|
35
29
|
it "can create a new user" do
|
36
|
-
|
30
|
+
user_params = {
|
31
|
+
:email => 'new@example.com', :password => 'spree123', :password_confirmation => 'spree123'
|
32
|
+
}
|
33
|
+
|
34
|
+
api_post :create, :user => user_params, token: user.spree_api_key
|
37
35
|
expect(json_response['email']).to eq 'new@example.com'
|
38
36
|
end
|
39
37
|
|
40
38
|
# there's no validations on LegacyUser?
|
41
39
|
xit "cannot create a new user with invalid attributes" do
|
42
|
-
api_post :create, :user => {}
|
40
|
+
api_post :create, :user => {}, token: user.spree_api_key
|
43
41
|
expect(response.status).to eq(422)
|
44
42
|
expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
|
45
43
|
errors = json_response["errors"]
|
@@ -47,7 +45,7 @@ module Spree
|
|
47
45
|
|
48
46
|
it "can update own details" do
|
49
47
|
country = create(:country)
|
50
|
-
api_put :update, id: user.id, user: {
|
48
|
+
api_put :update, id: user.id, token: user.spree_api_key, user: {
|
51
49
|
email: "mine@example.com",
|
52
50
|
bill_address_attributes: {
|
53
51
|
first_name: 'First',
|
@@ -76,23 +74,23 @@ module Spree
|
|
76
74
|
end
|
77
75
|
|
78
76
|
it "cannot update other users details" do
|
79
|
-
api_put :update, :
|
77
|
+
api_put :update, id: stranger.id, token: user.spree_api_key, user: { :email => "mine@example.com" }
|
80
78
|
assert_not_found!
|
81
79
|
end
|
82
80
|
|
83
81
|
it "can delete itself" do
|
84
|
-
api_delete :destroy, :id
|
82
|
+
api_delete :destroy, id: user.id, token: user.spree_api_key
|
85
83
|
expect(response.status).to eq(204)
|
86
84
|
end
|
87
85
|
|
88
86
|
it "cannot delete other user" do
|
89
|
-
api_delete :destroy, :id
|
87
|
+
api_delete :destroy, id: stranger.id, token: user.spree_api_key
|
90
88
|
assert_not_found!
|
91
89
|
end
|
92
90
|
|
93
91
|
it "should only get own details on index" do
|
94
92
|
2.times { create(:user) }
|
95
|
-
api_get :index
|
93
|
+
api_get :index, token: user.spree_api_key
|
96
94
|
|
97
95
|
expect(Spree.user_class.count).to eq 3
|
98
96
|
expect(json_response['count']).to eq 1
|
@@ -101,6 +99,8 @@ module Spree
|
|
101
99
|
end
|
102
100
|
|
103
101
|
context "as an admin" do
|
102
|
+
before { stub_authentication! }
|
103
|
+
|
104
104
|
sign_in_as_admin!
|
105
105
|
|
106
106
|
it "gets all users" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
4
|
+
version: 3.0.0.rc4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Bigg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.0.0.
|
19
|
+
version: 3.0.0.rc4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.0.0.
|
26
|
+
version: 3.0.0.rc4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rabl
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,7 +68,6 @@ files:
|
|
68
68
|
- app/controllers/spree/api/base_controller.rb
|
69
69
|
- app/controllers/spree/api/checkouts_controller.rb
|
70
70
|
- app/controllers/spree/api/classifications_controller.rb
|
71
|
-
- app/controllers/spree/api/config_controller.rb
|
72
71
|
- app/controllers/spree/api/countries_controller.rb
|
73
72
|
- app/controllers/spree/api/credit_cards_controller.rb
|
74
73
|
- app/controllers/spree/api/images_controller.rb
|
@@ -210,7 +209,6 @@ files:
|
|
210
209
|
- spec/controllers/spree/api/base_controller_spec.rb
|
211
210
|
- spec/controllers/spree/api/checkouts_controller_spec.rb
|
212
211
|
- spec/controllers/spree/api/classifications_controller_spec.rb
|
213
|
-
- spec/controllers/spree/api/config_controller_spec.rb
|
214
212
|
- spec/controllers/spree/api/countries_controller_spec.rb
|
215
213
|
- spec/controllers/spree/api/credit_cards_controller_spec.rb
|
216
214
|
- spec/controllers/spree/api/images_controller_spec.rb
|
@@ -276,7 +274,6 @@ test_files:
|
|
276
274
|
- spec/controllers/spree/api/base_controller_spec.rb
|
277
275
|
- spec/controllers/spree/api/checkouts_controller_spec.rb
|
278
276
|
- spec/controllers/spree/api/classifications_controller_spec.rb
|
279
|
-
- spec/controllers/spree/api/config_controller_spec.rb
|
280
277
|
- spec/controllers/spree/api/countries_controller_spec.rb
|
281
278
|
- spec/controllers/spree/api/credit_cards_controller_spec.rb
|
282
279
|
- spec/controllers/spree/api/images_controller_spec.rb
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Spree
|
4
|
-
describe Api::ConfigController, :type => :controller do
|
5
|
-
render_views
|
6
|
-
|
7
|
-
before do
|
8
|
-
stub_authentication!
|
9
|
-
end
|
10
|
-
|
11
|
-
it "returns Spree::Money settings" do
|
12
|
-
api_get :money
|
13
|
-
expect(response).to be_success
|
14
|
-
expect(json_response["symbol"]).to eq("$")
|
15
|
-
end
|
16
|
-
|
17
|
-
it "returns some configuration settings" do
|
18
|
-
api_get :show
|
19
|
-
expect(response).to be_success
|
20
|
-
expect(json_response["default_country_id"]).to eq(Spree::Config[:default_country_id])
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|