spree_api 3.0.0.rc3 → 3.0.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|