Module Merb::Test::RequestHelper
In: lib/merb-core/test/helpers/request_helper.rb
lib/merb-core/test/helpers/mock_request_helper.rb

Methods

Included Modules

MakeRequest

Classes and Modules

Class Merb::Test::RequestHelper::CookieJar
Class Merb::Test::RequestHelper::FakeRequest

Public Instance methods

Prepares and returns a request suitable for dispatching with dispatch_request. If you don‘t need to modify the request object before dispatching (e.g. to add cookies), you probably want to use dispatch_to instead.

Parameters

params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request), including :req or :post_body for setting the request body itself.

Example

  req = build_request(:id => 1)
  req.cookies['app_cookie'] = "testing"
  dispatch_request(req, MyController, :edit)

Notes

Does not use routes.

:api: public @deprecated

Checks to see that a request is routable.

Parameters

request<Merb::Test::RequestHelper::FakeRequest, Merb::Request>:The request object to inspect.

Raises

Merb::ControllerExceptions::BadRequest:No matching route was found.

Returns

Hash:The parameters built based on the matching route.

:api: plugin @deprecated

An HTTP DELETE request that operates through the router

Parameters

path<String>:The path that should go to the router as the request uri.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request).
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

:api: public @deprecated

The workhorse for the dispatch*to helpers.

Parameters

request<Merb::Test::RequestHelper::FakeRequest, Merb::Request>:A request object that has been setup for testing.
controller_klass<Merb::Controller>:The class object off the controller to dispatch the action to.
action<Symbol>:The action to dispatch the request to.
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

Returns

An instance of controller_klass based on the parameters.

Notes

Does not use routes.

:api: public @deprecated

Dispatches an action to the given class. This bypasses the router and is suitable for unit testing of controllers.

Parameters

controller_klass<Controller>:The controller class object that the action should be dispatched to.
action<Symbol>:The action name, as a symbol.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request), including :req or :post_body for setting the request body itself.
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

Example

  dispatch_to(MyController, :create, :name => 'Homer' ) do |controller|
    controller.stub!(:current_user).and_return(@user)
  end

Notes

Does not use routes.

:api: public @deprecated

Dispatches an action to the given class and using HTTP Basic Authentication This bypasses the router and is suitable for unit testing of controllers.

Parameters

controller_klass<Controller>:The controller class object that the action should be dispatched to.
action<Symbol>:The action name, as a symbol.
username<String>:The username.
password<String>:The password.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request), including :req or :post_body for setting the request body itself.
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

Example

  dispatch_with_basic_authentication_to(MyController, :create, 'Fred', 'secret', :name => 'Homer' ) do |controller|
    controller.stub!(:current_user).and_return(@user)
  end

Notes

Does not use routes.

:api: public @deprecated

Parameters

env<Hash>:A hash of environment keys to be merged into the default list.
opt<Hash>:A hash of options (see below).

Options (opt)

:post_body<String>:The post body for the request.
:req<String>:The request string. This will only be used if :post_body is left out.

Returns

FakeRequest:A Request object that is built based on the parameters.

Notes

If you pass a post body, the content-type will be set to URL-encoded.

:api: public @deprecated

An HTTP GET request that operates through the router.

Parameters

path<String>:The path that should go to the router as the request uri.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request).
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

:api: public @deprecated

A generic request that checks the router for the controller and action. This request goes through the Merb::Router and finishes at the controller.

Parameters

path<String>:The path that should go to the router as the request uri.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request).
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

Example

  request(path, { :name => 'Homer' }, { :request_method => "PUT" }) do |controller|
    controller.stub!(:current_user).and_return(@user)
  end

Notes

Uses Routes.

:api: plugin @deprecated

An HTTP POST request that operates through the router.

Parameters

path<String>:The path that should go to the router as the request uri.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request).
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

:api: public @deprecated

An HTTP PUT request that operates through the router.

Parameters

path<String>:The path that should go to the router as the request uri.
params<Hash>:An optional hash that will end up as params in the controller instance.
env<Hash>:An optional hash that is passed to the fake request. Any request options should go here (see fake_request).
&blk:The controller is yielded to the block provided for actions prior to the action being dispatched.

:api: public

Keep track of cookie values in CookieJar within the context of the block; you need to set this up for secific controllers.

Parameters

*controller_classes:Controller classes to operate on in the context of the block.
&blk:The context to operate on; optionally accepts the cookie jar as an argument.

:api: public @deprecated

[Validate]