spree_api 3.1.14 → 3.2.0.rc1

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