On Mar 13, 3:38 am, Karl <[email protected]> wrote:
> Being new to rails and ruby, I am trying to figure out how things fit
> together.  In particular i am trying to understand how attributes such
> as "session" and "cookies" are made available to Controller tests.
> Specifically I am working on a test from the RailsSpace book which
> extends Test::Unit::TestCase and only imports the module
> ApplicationHelper while attributes such as cookies and session are
> defined within the ActionController::TestProcess module.   I cannot
> figure out how module ActionController::TestProcess is included within
> the UserControllerTest.

The test_helper file that you require at the top of your test file in
turn requires a bunch of stuff, in particular a file that adds those
methods to test cases.

Fred
>
> require File.dirname(__FILE__) + '/../test_helper'
> require 'user_controller'
>
> # Re-raise errors caught by the controller.
> class UserController; def rescue_action(e) raise e end; end
>
> class UserControllerTest < Test::Unit::TestCase
>   include ApplicationHelper
>
> ..
> ..
>  def authorize(user)
>     @request.session[:user_id] = user.id
>   end
>
>   def friendly_url_forwarding_aux(test_page, protected_page, user)
>     get protected_page
>     assert_response :redirect
>     assert_redirected_to :action => "login"
>     post test_page, :user => user
>     assert_response :redirect
>     assert_redirected_to :action => protected_page
>     assert_nil session[:protected_page]
>   end
>
>   def cookie_value(symbol)
>     cookies[symbol.to_s].value.first
>   end
>
>   def cookie_expires(symbol)
>     cookies[symbol.to_s].expires
>   end
>
> thx.
>
> -karl
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to