spree_api 3.1.14 → 3.2.0.rc1

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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/app/controllers/spree/api/base_controller.rb +2 -2
  4. data/app/controllers/spree/api/v1/addresses_controller.rb +1 -1
  5. data/app/controllers/spree/api/v1/classifications_controller.rb +1 -1
  6. data/app/controllers/spree/api/v1/images_controller.rb +3 -0
  7. data/app/controllers/spree/api/v1/inventory_units_controller.rb +3 -3
  8. data/app/controllers/spree/api/v1/line_items_controller.rb +3 -0
  9. data/app/controllers/spree/api/v1/option_types_controller.rb +16 -7
  10. data/app/controllers/spree/api/v1/option_values_controller.rb +6 -3
  11. data/app/controllers/spree/api/v1/orders_controller.rb +13 -24
  12. data/app/controllers/spree/api/v1/payments_controller.rb +0 -1
  13. data/app/controllers/spree/api/v1/products_controller.rb +8 -5
  14. data/app/controllers/spree/api/v1/stock_items_controller.rb +1 -1
  15. data/app/controllers/spree/api/v1/stock_locations_controller.rb +1 -1
  16. data/app/controllers/spree/api/v1/tags_controller.rb +28 -0
  17. data/app/controllers/spree/api/v1/taxonomies_controller.rb +7 -4
  18. data/app/controllers/spree/api/v1/taxons_controller.rb +4 -1
  19. data/app/controllers/spree/api/v1/users_controller.rb +5 -3
  20. data/app/controllers/spree/api/v1/zones_controller.rb +3 -3
  21. data/app/helpers/spree/api/api_helpers.rb +4 -1
  22. data/app/models/spree/api_configuration.rb +1 -1
  23. data/app/views/spree/api/errors/invalid_api_key.v1.rabl +1 -1
  24. data/app/views/spree/api/errors/invalid_resource.v1.rabl +1 -1
  25. data/app/views/spree/api/errors/must_specify_api_key.v1.rabl +1 -1
  26. data/app/views/spree/api/errors/not_found.v1.rabl +1 -1
  27. data/app/views/spree/api/errors/unauthorized.v1.rabl +1 -1
  28. data/app/views/spree/api/v1/countries/show.v1.rabl +1 -1
  29. data/app/views/spree/api/v1/line_items/show.v1.rabl +2 -2
  30. data/app/views/spree/api/v1/option_types/show.v1.rabl +1 -1
  31. data/app/views/spree/api/v1/orders/invalid_shipping_method.v1.rabl +1 -1
  32. data/app/views/spree/api/v1/orders/payment.v1.rabl +1 -1
  33. data/app/views/spree/api/v1/orders/show.v1.rabl +9 -9
  34. data/app/views/spree/api/v1/payments/credit_over_limit.v1.rabl +1 -1
  35. data/app/views/spree/api/v1/payments/update_forbidden.v1.rabl +1 -1
  36. data/app/views/spree/api/v1/products/show.v1.rabl +5 -5
  37. data/app/views/spree/api/v1/shipments/cannot_ready_shipment.v1.rabl +1 -1
  38. data/app/views/spree/api/v1/shipments/show.v1.rabl +7 -7
  39. data/app/views/spree/api/v1/shipments/small.v1.rabl +8 -8
  40. data/app/views/spree/api/v1/tags/index.v1.rabl +9 -0
  41. data/app/views/spree/api/v1/taxonomies/jstree.rabl +2 -2
  42. data/app/views/spree/api/v1/taxonomies/nested.v1.rabl +2 -2
  43. data/app/views/spree/api/v1/taxons/jstree.rabl +3 -3
  44. data/app/views/spree/api/v1/taxons/show.v1.rabl +1 -1
  45. data/app/views/spree/api/v1/taxons/taxons.v1.rabl +1 -1
  46. data/app/views/spree/api/v1/users/show.v1.rabl +3 -2
  47. data/app/views/spree/api/v1/variants/big.v1.rabl +3 -3
  48. data/app/views/spree/api/v1/variants/small.v1.rabl +3 -2
  49. data/app/views/spree/api/v1/zones/show.v1.rabl +1 -1
  50. data/config/routes.rb +4 -6
  51. data/db/migrate/20100107141738_add_api_key_to_spree_users.rb +2 -2
  52. data/db/migrate/20120411123334_resize_api_key_field.rb +2 -2
  53. data/db/migrate/20120530054546_rename_api_key_to_spree_api_key.rb +1 -1
  54. data/db/migrate/20131017162334_add_index_to_user_spree_api_key.rb +1 -1
  55. data/lib/spree/api/engine.rb +11 -3
  56. data/lib/spree/api/responders/rabl_template.rb +1 -1
  57. data/lib/spree/api/testing_support/caching.rb +2 -2
  58. data/spec/controllers/spree/api/base_controller_spec.rb +96 -0
  59. data/spec/controllers/spree/api/v1/addresses_controller_spec.rb +56 -0
  60. data/spec/controllers/spree/api/v1/checkouts_controller_spec.rb +363 -0
  61. data/spec/controllers/spree/api/v1/classifications_controller_spec.rb +48 -0
  62. data/spec/controllers/spree/api/v1/countries_controller_spec.rb +48 -0
  63. data/spec/controllers/spree/api/v1/credit_cards_controller_spec.rb +80 -0
  64. data/spec/controllers/spree/api/v1/images_controller_spec.rb +114 -0
  65. data/spec/controllers/spree/api/v1/inventory_units_controller_spec.rb +48 -0
  66. data/spec/controllers/spree/api/v1/line_items_controller_spec.rb +203 -0
  67. data/spec/controllers/spree/api/v1/option_types_controller_spec.rb +122 -0
  68. data/spec/controllers/spree/api/v1/option_values_controller_spec.rb +141 -0
  69. data/spec/controllers/spree/api/v1/orders_controller_spec.rb +735 -0
  70. data/spec/controllers/spree/api/v1/payments_controller_spec.rb +234 -0
  71. data/spec/controllers/spree/api/v1/product_properties_controller_spec.rb +147 -0
  72. data/spec/controllers/spree/api/v1/products_controller_spec.rb +409 -0
  73. data/spec/controllers/spree/api/v1/promotion_application_spec.rb +50 -0
  74. data/spec/controllers/spree/api/v1/promotions_controller_spec.rb +64 -0
  75. data/spec/controllers/spree/api/v1/properties_controller_spec.rb +102 -0
  76. data/spec/controllers/spree/api/v1/return_authorizations_controller_spec.rb +161 -0
  77. data/spec/controllers/spree/api/v1/shipments_controller_spec.rb +187 -0
  78. data/spec/controllers/spree/api/v1/states_controller_spec.rb +86 -0
  79. data/spec/controllers/spree/api/v1/stock_items_controller_spec.rb +143 -0
  80. data/spec/controllers/spree/api/v1/stock_locations_controller_spec.rb +113 -0
  81. data/spec/controllers/spree/api/v1/stock_movements_controller_spec.rb +84 -0
  82. data/spec/controllers/spree/api/v1/stores_controller_spec.rb +133 -0
  83. data/spec/controllers/spree/api/v1/tags_controller_spec.rb +102 -0
  84. data/spec/controllers/spree/api/v1/taxonomies_controller_spec.rb +114 -0
  85. data/spec/controllers/spree/api/v1/taxons_controller_spec.rb +177 -0
  86. data/spec/controllers/spree/api/v1/unauthenticated_products_controller_spec.rb +26 -0
  87. data/spec/controllers/spree/api/v1/users_controller_spec.rb +153 -0
  88. data/spec/controllers/spree/api/v1/variants_controller_spec.rb +205 -0
  89. data/spec/controllers/spree/api/v1/zones_controller_spec.rb +91 -0
  90. data/spec/models/spree/legacy_user_spec.rb +19 -0
  91. data/spec/requests/rabl_cache_spec.rb +32 -0
  92. data/spec/requests/ransackable_attributes_spec.rb +79 -0
  93. data/spec/requests/version_spec.rb +19 -0
  94. data/spec/shared_examples/protect_product_actions.rb +17 -0
  95. data/spec/spec_helper.rb +60 -0
  96. data/spec/support/controller_hacks.rb +40 -0
  97. data/spec/support/database_cleaner.rb +14 -0
  98. data/spec/support/have_attributes_matcher.rb +13 -0
  99. data/spree_api.gemspec +7 -4
  100. metadata +99 -14
@@ -0,0 +1,17 @@
1
+ shared_examples "modifying product actions are restricted" do
2
+ it "cannot create a new product if not an admin" do
3
+ api_post :create, product: { name: "Brand new product!" }
4
+ assert_unauthorized!
5
+ end
6
+
7
+ it "cannot update a product" do
8
+ api_put :update, id: product.to_param, product: { name: "I hacked your store!" }
9
+ assert_unauthorized!
10
+ end
11
+
12
+ it "cannot delete a product" do
13
+ api_delete :destroy, id: product.to_param
14
+ assert_unauthorized!
15
+ end
16
+ end
17
+
@@ -0,0 +1,60 @@
1
+ if ENV["COVERAGE"]
2
+ # Run Coverage report
3
+ require 'simplecov'
4
+ SimpleCov.start do
5
+ add_group 'Controllers', 'app/controllers'
6
+ add_group 'Helpers', 'app/helpers'
7
+ add_group 'Mailers', 'app/mailers'
8
+ add_group 'Models', 'app/models'
9
+ add_group 'Views', 'app/views'
10
+ add_group 'Libraries', 'lib'
11
+ end
12
+ end
13
+
14
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
15
+ ENV["RAILS_ENV"] ||= 'test'
16
+
17
+ begin
18
+ require File.expand_path("../dummy/config/environment", __FILE__)
19
+ rescue LoadError
20
+ puts "Could not load dummy application. Please ensure you have run `bundle exec rake test_app`"
21
+ exit
22
+ end
23
+
24
+ require 'rspec/rails'
25
+ require 'ffaker'
26
+
27
+ # Requires supporting ruby files with custom matchers and macros, etc,
28
+ # in spec/support/ and its subdirectories.
29
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
30
+
31
+ require 'spree/testing_support/factories'
32
+ require 'spree/testing_support/preferences'
33
+
34
+ require 'spree/api/testing_support/caching'
35
+ require 'spree/api/testing_support/helpers'
36
+ require 'spree/api/testing_support/setup'
37
+ require 'spree/testing_support/shoulda_matcher_configuration'
38
+
39
+ RSpec.configure do |config|
40
+ config.backtrace_exclusion_patterns = [/gems\/activesupport/, /gems\/actionpack/, /gems\/rspec/]
41
+ config.color = true
42
+ config.fail_fast = ENV['FAIL_FAST'] || false
43
+ config.infer_spec_type_from_file_location!
44
+ config.raise_errors_for_deprecations!
45
+ config.use_transactional_fixtures = true
46
+
47
+ config.include FactoryGirl::Syntax::Methods
48
+ config.include Spree::Api::TestingSupport::Helpers, type: :controller
49
+ config.extend Spree::Api::TestingSupport::Setup, type: :controller
50
+ config.include Spree::TestingSupport::Preferences, type: :controller
51
+
52
+ config.before do
53
+ Spree::Api::Config[:requires_authentication] = true
54
+ end
55
+
56
+ config.include VersionCake::TestHelpers, type: :controller
57
+ config.before(:each, type: :controller) do
58
+ set_request_version('', 1)
59
+ end
60
+ end
@@ -0,0 +1,40 @@
1
+ require 'active_support/all'
2
+ module ControllerHacks
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ routes { Spree::Core::Engine.routes }
7
+ end
8
+
9
+ def api_get(action, params={}, session=nil, flash=nil)
10
+ api_process(action, params, session, flash, "GET")
11
+ end
12
+
13
+ def api_post(action, params={}, session=nil, flash=nil)
14
+ api_process(action, params, session, flash, "POST")
15
+ end
16
+
17
+ def api_put(action, params={}, session=nil, flash=nil)
18
+ api_process(action, params, session, flash, "PUT")
19
+ end
20
+
21
+ def api_delete(action, params={}, session=nil, flash=nil)
22
+ api_process(action, params, session, flash, "DELETE")
23
+ end
24
+
25
+ def api_process(action, params={}, session=nil, flash=nil, method="get")
26
+ scoping = respond_to?(:resource_scoping) ? resource_scoping : {}
27
+ process(
28
+ action,
29
+ method: method,
30
+ params: params.merge(scoping),
31
+ session: session,
32
+ flash: flash,
33
+ format: :json
34
+ )
35
+ end
36
+ end
37
+
38
+ RSpec.configure do |config|
39
+ config.include ControllerHacks, type: :controller
40
+ end
@@ -0,0 +1,14 @@
1
+ RSpec.configure do |config|
2
+ config.before(:suite) do
3
+ DatabaseCleaner.strategy = :transaction
4
+ DatabaseCleaner.clean_with(:truncation)
5
+ end
6
+
7
+ config.before(:each) do
8
+ DatabaseCleaner.start
9
+ end
10
+
11
+ config.after(:each) do
12
+ DatabaseCleaner.clean
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+
2
+
3
+
4
+
5
+ RSpec::Matchers.define :have_attributes do |expected_attributes|
6
+ match do |actual|
7
+ # actual is a Hash object representing an object, like this:
8
+ # { "name" => "Product #1" }
9
+ actual_attributes = actual.keys.map(&:to_sym)
10
+ expected_attributes.map(&:to_sym).all? { |attr| actual_attributes.include?(attr) }
11
+ end
12
+ end
13
+
data/spree_api.gemspec CHANGED
@@ -7,15 +7,18 @@ Gem::Specification.new do |s|
7
7
  s.description = %q{Spree's API}
8
8
  s.summary = %q{Spree's API}
9
9
  s.homepage = 'https://spreecommerce.com'
10
- s.license = 'BSD-3'
10
+ s.license = 'BSD-3-Clause'
11
11
 
12
- s.files = `git ls-files`.split($\).reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
12
+ s.required_ruby_version = '>= 2.2.2'
13
+
14
+ s.files = `git ls-files`.split($\)
13
15
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
14
17
  s.name = "spree_api"
15
18
  s.require_paths = ["lib"]
16
19
  s.version = Spree.version
17
20
 
18
21
  s.add_dependency 'spree_core', s.version
19
- s.add_dependency 'rabl', '~> 0.12.0'
20
- s.add_dependency 'versioncake', '~> 2.3.1'
22
+ s.add_dependency 'rabl', '~> 0.13.1'
23
+ s.add_dependency 'versioncake', '~> 3.1.0'
21
24
  end
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.1.14
4
+ version: 3.2.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-24 00:00:00.000000000 Z
11
+ date: 2016-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.14
19
+ version: 3.2.0.rc1
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.1.14
26
+ version: 3.2.0.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rabl
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.12.0
33
+ version: 0.13.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.12.0
40
+ version: 0.13.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: versioncake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.3.1
47
+ version: 3.1.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.3.1
54
+ version: 3.1.0
55
55
  description: Spree's API
56
56
  email:
57
57
  - ryan@spreecommerce.com
@@ -87,6 +87,7 @@ files:
87
87
  - app/controllers/spree/api/v1/stock_locations_controller.rb
88
88
  - app/controllers/spree/api/v1/stock_movements_controller.rb
89
89
  - app/controllers/spree/api/v1/stores_controller.rb
90
+ - app/controllers/spree/api/v1/tags_controller.rb
90
91
  - app/controllers/spree/api/v1/taxonomies_controller.rb
91
92
  - app/controllers/spree/api/v1/taxons_controller.rb
92
93
  - app/controllers/spree/api/v1/users_controller.rb
@@ -169,6 +170,7 @@ files:
169
170
  - app/views/spree/api/v1/stock_movements/show.v1.rabl
170
171
  - app/views/spree/api/v1/stores/index.v1.rabl
171
172
  - app/views/spree/api/v1/stores/show.v1.rabl
173
+ - app/views/spree/api/v1/tags/index.v1.rabl
172
174
  - app/views/spree/api/v1/taxonomies/index.v1.rabl
173
175
  - app/views/spree/api/v1/taxonomies/jstree.rabl
174
176
  - app/views/spree/api/v1/taxonomies/nested.v1.rabl
@@ -206,11 +208,52 @@ files:
206
208
  - lib/spree/api/testing_support/setup.rb
207
209
  - lib/spree_api.rb
208
210
  - script/rails
211
+ - spec/controllers/spree/api/base_controller_spec.rb
212
+ - spec/controllers/spree/api/v1/addresses_controller_spec.rb
213
+ - spec/controllers/spree/api/v1/checkouts_controller_spec.rb
214
+ - spec/controllers/spree/api/v1/classifications_controller_spec.rb
215
+ - spec/controllers/spree/api/v1/countries_controller_spec.rb
216
+ - spec/controllers/spree/api/v1/credit_cards_controller_spec.rb
217
+ - spec/controllers/spree/api/v1/images_controller_spec.rb
218
+ - spec/controllers/spree/api/v1/inventory_units_controller_spec.rb
219
+ - spec/controllers/spree/api/v1/line_items_controller_spec.rb
220
+ - spec/controllers/spree/api/v1/option_types_controller_spec.rb
221
+ - spec/controllers/spree/api/v1/option_values_controller_spec.rb
222
+ - spec/controllers/spree/api/v1/orders_controller_spec.rb
223
+ - spec/controllers/spree/api/v1/payments_controller_spec.rb
224
+ - spec/controllers/spree/api/v1/product_properties_controller_spec.rb
225
+ - spec/controllers/spree/api/v1/products_controller_spec.rb
226
+ - spec/controllers/spree/api/v1/promotion_application_spec.rb
227
+ - spec/controllers/spree/api/v1/promotions_controller_spec.rb
228
+ - spec/controllers/spree/api/v1/properties_controller_spec.rb
229
+ - spec/controllers/spree/api/v1/return_authorizations_controller_spec.rb
230
+ - spec/controllers/spree/api/v1/shipments_controller_spec.rb
231
+ - spec/controllers/spree/api/v1/states_controller_spec.rb
232
+ - spec/controllers/spree/api/v1/stock_items_controller_spec.rb
233
+ - spec/controllers/spree/api/v1/stock_locations_controller_spec.rb
234
+ - spec/controllers/spree/api/v1/stock_movements_controller_spec.rb
235
+ - spec/controllers/spree/api/v1/stores_controller_spec.rb
236
+ - spec/controllers/spree/api/v1/tags_controller_spec.rb
237
+ - spec/controllers/spree/api/v1/taxonomies_controller_spec.rb
238
+ - spec/controllers/spree/api/v1/taxons_controller_spec.rb
239
+ - spec/controllers/spree/api/v1/unauthenticated_products_controller_spec.rb
240
+ - spec/controllers/spree/api/v1/users_controller_spec.rb
241
+ - spec/controllers/spree/api/v1/variants_controller_spec.rb
242
+ - spec/controllers/spree/api/v1/zones_controller_spec.rb
209
243
  - spec/fixtures/thinking-cat.jpg
244
+ - spec/models/spree/legacy_user_spec.rb
245
+ - spec/requests/rabl_cache_spec.rb
246
+ - spec/requests/ransackable_attributes_spec.rb
247
+ - spec/requests/version_spec.rb
248
+ - spec/shared_examples/protect_product_actions.rb
249
+ - spec/spec_helper.rb
250
+ - spec/support/controller_hacks.rb
251
+ - spec/support/database_cleaner.rb
252
+ - spec/support/have_attributes_matcher.rb
210
253
  - spree_api.gemspec
211
254
  homepage: https://spreecommerce.com
212
255
  licenses:
213
- - BSD-3
256
+ - BSD-3-Clause
214
257
  metadata: {}
215
258
  post_install_message:
216
259
  rdoc_options: []
@@ -220,16 +263,58 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
263
  requirements:
221
264
  - - ">="
222
265
  - !ruby/object:Gem::Version
223
- version: '0'
266
+ version: 2.2.2
224
267
  required_rubygems_version: !ruby/object:Gem::Requirement
225
268
  requirements:
226
- - - ">="
269
+ - - ">"
227
270
  - !ruby/object:Gem::Version
228
- version: '0'
271
+ version: 1.3.1
229
272
  requirements: []
230
273
  rubyforge_project:
231
- rubygems_version: 2.6.10
274
+ rubygems_version: 2.5.1
232
275
  signing_key:
233
276
  specification_version: 4
234
277
  summary: Spree's API
235
- test_files: []
278
+ test_files:
279
+ - spec/controllers/spree/api/base_controller_spec.rb
280
+ - spec/controllers/spree/api/v1/addresses_controller_spec.rb
281
+ - spec/controllers/spree/api/v1/checkouts_controller_spec.rb
282
+ - spec/controllers/spree/api/v1/classifications_controller_spec.rb
283
+ - spec/controllers/spree/api/v1/countries_controller_spec.rb
284
+ - spec/controllers/spree/api/v1/credit_cards_controller_spec.rb
285
+ - spec/controllers/spree/api/v1/images_controller_spec.rb
286
+ - spec/controllers/spree/api/v1/inventory_units_controller_spec.rb
287
+ - spec/controllers/spree/api/v1/line_items_controller_spec.rb
288
+ - spec/controllers/spree/api/v1/option_types_controller_spec.rb
289
+ - spec/controllers/spree/api/v1/option_values_controller_spec.rb
290
+ - spec/controllers/spree/api/v1/orders_controller_spec.rb
291
+ - spec/controllers/spree/api/v1/payments_controller_spec.rb
292
+ - spec/controllers/spree/api/v1/product_properties_controller_spec.rb
293
+ - spec/controllers/spree/api/v1/products_controller_spec.rb
294
+ - spec/controllers/spree/api/v1/promotion_application_spec.rb
295
+ - spec/controllers/spree/api/v1/promotions_controller_spec.rb
296
+ - spec/controllers/spree/api/v1/properties_controller_spec.rb
297
+ - spec/controllers/spree/api/v1/return_authorizations_controller_spec.rb
298
+ - spec/controllers/spree/api/v1/shipments_controller_spec.rb
299
+ - spec/controllers/spree/api/v1/states_controller_spec.rb
300
+ - spec/controllers/spree/api/v1/stock_items_controller_spec.rb
301
+ - spec/controllers/spree/api/v1/stock_locations_controller_spec.rb
302
+ - spec/controllers/spree/api/v1/stock_movements_controller_spec.rb
303
+ - spec/controllers/spree/api/v1/stores_controller_spec.rb
304
+ - spec/controllers/spree/api/v1/tags_controller_spec.rb
305
+ - spec/controllers/spree/api/v1/taxonomies_controller_spec.rb
306
+ - spec/controllers/spree/api/v1/taxons_controller_spec.rb
307
+ - spec/controllers/spree/api/v1/unauthenticated_products_controller_spec.rb
308
+ - spec/controllers/spree/api/v1/users_controller_spec.rb
309
+ - spec/controllers/spree/api/v1/variants_controller_spec.rb
310
+ - spec/controllers/spree/api/v1/zones_controller_spec.rb
311
+ - spec/fixtures/thinking-cat.jpg
312
+ - spec/models/spree/legacy_user_spec.rb
313
+ - spec/requests/rabl_cache_spec.rb
314
+ - spec/requests/ransackable_attributes_spec.rb
315
+ - spec/requests/version_spec.rb
316
+ - spec/shared_examples/protect_product_actions.rb
317
+ - spec/spec_helper.rb
318
+ - spec/support/controller_hacks.rb
319
+ - spec/support/database_cleaner.rb
320
+ - spec/support/have_attributes_matcher.rb