Module: Spree::TestingSupport::ControllerRequests
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/spree/testing_support/controller_requests.rb
Overview
A module providing convenience methods to test Solidus controllers in Rails controller/functional tests. Possibly from inside an application with a mounted Solidus engine.
*There is generaly no need* to use this module. Instead, in a functional/controller test against a Spree controller, just use standard Rails functionality by including:
routes { Spree::Core::Engine.routes }
And then use standard Rails test ‘get`, `post` etc methods.
But some legacy code uses this ControllerRequests helper. It must be included only in tests against Spree controllers, it will interfere with tests against local app or other engine controllers, resulting in ActionController::UrlGenerationError.
To use this module, inside your spec_helper.rb, include this module inside the RSpec.configure block by:
require 'spree/testing_support/controller_requests'
RSpec.configure do |c|
c.include Spree::TestingSupport::ControllerRequests, spree_controller: true
end
Then, in your controller tests against spree controllers, you can access tag to use this module, and access spree routes like this:
require 'spec_helper'
describe Spree::ProductsController, :spree_controller do
it "can see all the products" do
spree_get :index
end
end
Use spree_get, spree_post, spree_put or spree_delete to make requests to the Spree engine, and use regular get, post, put or delete to make requests to your application.
Instance Method Summary collapse
-
#spree_delete(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating DELETE HTTP method and set/volley the response.
- #spree_get(action, parameters = nil, session = nil, flash = nil) ⇒ Object
-
#spree_post(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating POST HTTP method and set/volley the response.
-
#spree_put(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating PUT HTTP method and set/volley the response.
- #spree_xhr_delete(action, parameters = nil, session = nil, flash = nil) ⇒ Object
- #spree_xhr_get(action, parameters = nil, session = nil, flash = nil) ⇒ Object
- #spree_xhr_post(action, parameters = nil, session = nil, flash = nil) ⇒ Object
- #spree_xhr_put(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Instance Method Details
#spree_delete(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating DELETE HTTP method and set/volley the response
64 65 66 |
# File 'lib/spree/testing_support/controller_requests.rb', line 64 def spree_delete(action, parameters = nil, session = nil, flash = nil) process_spree_action(action, parameters, session, flash, "DELETE") end |
#spree_get(action, parameters = nil, session = nil, flash = nil) ⇒ Object
49 50 51 |
# File 'lib/spree/testing_support/controller_requests.rb', line 49 def spree_get(action, parameters = nil, session = nil, flash = nil) process_spree_action(action, parameters, session, flash, "GET") end |
#spree_post(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating POST HTTP method and set/volley the response
54 55 56 |
# File 'lib/spree/testing_support/controller_requests.rb', line 54 def spree_post(action, parameters = nil, session = nil, flash = nil) process_spree_action(action, parameters, session, flash, "POST") end |
#spree_put(action, parameters = nil, session = nil, flash = nil) ⇒ Object
Executes a request simulating PUT HTTP method and set/volley the response
59 60 61 |
# File 'lib/spree/testing_support/controller_requests.rb', line 59 def spree_put(action, parameters = nil, session = nil, flash = nil) process_spree_action(action, parameters, session, flash, "PUT") end |
#spree_xhr_delete(action, parameters = nil, session = nil, flash = nil) ⇒ Object
80 81 82 |
# File 'lib/spree/testing_support/controller_requests.rb', line 80 def spree_xhr_delete(action, parameters = nil, session = nil, flash = nil) process_spree_xhr_action(action, parameters, session, flash, :delete) end |
#spree_xhr_get(action, parameters = nil, session = nil, flash = nil) ⇒ Object
68 69 70 |
# File 'lib/spree/testing_support/controller_requests.rb', line 68 def spree_xhr_get(action, parameters = nil, session = nil, flash = nil) process_spree_xhr_action(action, parameters, session, flash, :get) end |
#spree_xhr_post(action, parameters = nil, session = nil, flash = nil) ⇒ Object
72 73 74 |
# File 'lib/spree/testing_support/controller_requests.rb', line 72 def spree_xhr_post(action, parameters = nil, session = nil, flash = nil) process_spree_xhr_action(action, parameters, session, flash, :post) end |
#spree_xhr_put(action, parameters = nil, session = nil, flash = nil) ⇒ Object
76 77 78 |
# File 'lib/spree/testing_support/controller_requests.rb', line 76 def spree_xhr_put(action, parameters = nil, session = nil, flash = nil) process_spree_xhr_action(action, parameters, session, flash, :put) end |