Bring methods from Spree::TestingSupport::ControllerRequests to our ControllerRequestsHelper so we can merge them later

This commit is contained in:
Luis Ramos
2020-06-02 13:54:33 +01:00
parent 5d0856e5a3
commit 2f76e0b15b
2 changed files with 28 additions and 2 deletions

View File

@@ -36,7 +36,6 @@ WebMock.disable_net_connect!(
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
require 'spree/testing_support/controller_requests'
require 'spree/testing_support/capybara_ext'
require 'spree/api/testing_support/setup'
require 'spree/testing_support/authorization_helpers'
@@ -149,7 +148,6 @@ RSpec.configure do |config|
config.include Spree::CheckoutHelpers
config.include Spree::MoneyHelper
config.include Spree::TestingSupport::Preferences
config.include Spree::TestingSupport::ControllerRequests, type: :controller
config.include ControllerRequestsHelper, type: :controller
config.include Devise::TestHelpers, type: :controller
config.extend Spree::Api::TestingSupport::Setup, type: :controller

View File

@@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'active_support/all'
module ControllerRequestsHelper
@@ -17,6 +19,27 @@ module ControllerRequestsHelper
api_process(action, params, session, flash, "DELETE")
end
def spree_get(action, parameters = nil, session = nil, flash = nil)
process_spree_action(action, parameters, session, flash, "GET")
end
# Executes a request simulating POST HTTP method and set/volley the response
def spree_post(action, parameters = nil, session = nil, flash = nil)
process_spree_action(action, parameters, session, flash, "POST")
end
# Executes a request simulating PUT HTTP method and set/volley the response
def spree_put(action, parameters = nil, session = nil, flash = nil)
process_spree_action(action, parameters, session, flash, "PUT")
end
# Executes a request simulating DELETE HTTP method and set/volley the response
def spree_delete(action, parameters = nil, session = nil, flash = nil)
process_spree_action(action, parameters, session, flash, "DELETE")
end
private
def api_process(action, params = {}, session = nil, flash = nil, method = "get")
process(action,
params.
@@ -25,4 +48,9 @@ module ControllerRequestsHelper
flash,
method)
end
def process_spree_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
parameters ||= {}
process(action, parameters.merge!(use_route: :spree), session, flash, method)
end
end