spree_api 2.4.4 → 2.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/spree/api/base_controller.rb +1 -1
- data/lib/spree/api/testing_support/helpers.rb +1 -1
- data/spec/controllers/spree/api/base_controller_spec.rb +8 -14
- 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 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df85069fa27344d037168635f2c4ec87e02b9011
|
4
|
+
data.tar.gz: 8fbc76a068f2684e7bafd00bcf3e06ac8f5add06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 144367eaf50a16d2d40d1ed194265f471f2d8098b918306b9ba96cbd1e0822cb9cd4434c579026585a133621f79d32ee6c37b48166b24f9b285fcfd12d003d46
|
7
|
+
data.tar.gz: 2acc72fc6fad8788ef7b42b9a007ede5afb66cc6c7bb2794144fbe18ce3ef0d47509aa21e442b8dd1bf2710aa17ddb26b2043ee7f38aaafdd474e556a7584b6d
|
@@ -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
|
@@ -11,17 +11,9 @@ describe Spree::Api::BaseController, :type => :controller do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
allow(user).to receive_message_chain :spree_roles, pluck: []
|
18
|
-
allow(controller).to receive_messages :try_spree_current_user => user
|
19
|
-
end
|
20
|
-
|
21
|
-
it "can make a request" do
|
22
|
-
api_get :index
|
23
|
-
expect(json_response).to eq({ "products" => [] })
|
24
|
-
expect(response.status).to eq(200)
|
14
|
+
before do
|
15
|
+
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
|
16
|
+
r.draw { get 'index', to: 'spree/api/base#index' }
|
25
17
|
end
|
26
18
|
end
|
27
19
|
|
@@ -117,13 +109,15 @@ describe Spree::Api::BaseController, :type => :controller do
|
|
117
109
|
before do
|
118
110
|
user = double(email: "spree@example.com")
|
119
111
|
allow(user).to receive_message_chain :spree_roles, pluck: []
|
120
|
-
allow(
|
121
|
-
routes
|
112
|
+
allow(Spree.user_class).to receive_messages find_by: user
|
113
|
+
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
|
114
|
+
r.draw { get 'foo' => 'fakes#foo' }
|
115
|
+
end
|
122
116
|
end
|
123
117
|
|
124
118
|
it 'should notify notify_error_during_processing' do
|
125
119
|
expect(MockHoneybadger).to receive(:notify_or_ignore).once.with(kind_of(Exception), rack_env: kind_of(Hash))
|
126
|
-
api_get :foo
|
120
|
+
api_get :foo, token: 123
|
127
121
|
expect(response.status).to eq(422)
|
128
122
|
end
|
129
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
|
@@ -238,7 +238,7 @@ module Spree
|
|
238
238
|
allow(user).to receive_message_chain(:spree_roles, :pluck).and_return(["bar"])
|
239
239
|
allow(user).to receive(:has_spree_role?).with('bar').and_return(true)
|
240
240
|
allow(user).to receive(:has_spree_role?).with('admin').and_return(false)
|
241
|
-
allow(
|
241
|
+
allow(Spree.user_class).to receive_messages find_by: user
|
242
242
|
api_get :show, :id => order.to_param
|
243
243
|
expect(response.status).to eq(200)
|
244
244
|
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: 2.4.
|
4
|
+
version: 2.4.5
|
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: 2.4.
|
19
|
+
version: 2.4.5
|
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: 2.4.
|
26
|
+
version: 2.4.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rabl
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|