Module: Spree::TestingSupport::ControllerRequests

Extended by:
ActiveSupport::Concern
Defined in:
lib/spree/testing_support/controller_requests.rb

Overview

Use this module to easily test Spree actions within Spree components or inside your application to test routes for the mounted Spree engine.

Inside your spec_helper.rb, include this module inside the RSpec.configure block by doing this:

require 'spree/testing_support/controller_requests'
RSpec.configure do |c|
  c.include Spree::TestingSupport::ControllerRequests, :type => :controller
end

Then, in your controller tests, you can access spree routes like this:

require 'spec_helper'

describe Spree::ProductsController 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

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



49
50
51
# File 'lib/spree/testing_support/controller_requests.rb', line 49

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



34
35
36
# File 'lib/spree/testing_support/controller_requests.rb', line 34

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



39
40
41
# File 'lib/spree/testing_support/controller_requests.rb', line 39

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



44
45
46
# File 'lib/spree/testing_support/controller_requests.rb', line 44

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



65
66
67
# File 'lib/spree/testing_support/controller_requests.rb', line 65

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



53
54
55
# File 'lib/spree/testing_support/controller_requests.rb', line 53

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



57
58
59
# File 'lib/spree/testing_support/controller_requests.rb', line 57

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



61
62
63
# File 'lib/spree/testing_support/controller_requests.rb', line 61

def spree_xhr_put(action, parameters = nil, session = nil, flash = nil)
  process_spree_xhr_action(action, parameters, session, flash, :put)
end