Sha256: 775ee5e305ea2a013a68f338d99bcbf2936658f1cfa9f76468c2f8dcb4908e0d

Contents?: true

Size: 1.39 KB

Versions: 25

Compression:

Stored size: 1.39 KB

Contents

# Based on spree commerce controller hacks.
# https://github.com/spree/spree/blob/master/core/spec/support/controller_hacks.rb
# Thanks!

module Alchemy
  module Specs
    module ControllerHacks

      def get(action, parameters = nil, session = nil, flash = nil)
        process_alchemy_action(action, parameters, session, flash, "GET")
      end

      # Executes a request simulating POST HTTP method and set/volley the response
      def post(action, parameters = nil, session = nil, flash = nil)
        process_alchemy_action(action, parameters, session, flash, "POST")
      end

      # Executes a request simulating PUT HTTP method and set/volley the response
      def put(action, parameters = nil, session = nil, flash = nil)
        process_alchemy_action(action, parameters, session, flash, "PUT")
      end

      # Executes a request simulating DELETE HTTP method and set/volley the response
      def delete(action, parameters = nil, session = nil, flash = nil)
        process_alchemy_action(action, parameters, session, flash, "DELETE")
      end

    private

      def process_alchemy_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
        parameters ||= {}
        process(action, parameters.merge!(:use_route => :alchemy), session, flash, method)
      end

    end
  end
end

RSpec.configure do |c|
  c.include Alchemy::Specs::ControllerHacks, :type => :controller
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
alchemy_cms-2.9.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.9.0 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.8.3 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.5 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.3 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.4 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.8.2 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.8.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.3 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.2 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.7.0 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.2.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.2 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.0 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.6.0.rc5 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.5.3.1 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.5.3 spec/support/alchemy/controller_hacks.rb
alchemy_cms-2.5.2.2 spec/support/alchemy/controller_hacks.rb