Attributes
| request | [R] | |
| response | [R] |
Public instance methods
Hash of instance variables to values that are made available to views. == Examples
#in thing_controller.rb def new @thing = Thing.new end #in thing_controller_spec get 'new' assigns[:registration].should == Thing.new
# File lib/spec/rails/example/functional_example_group.rb, line 95 def assigns(key = nil) if key.nil? _assigns_hash_proxy else _assigns_hash_proxy[key] end end
Overrides the cookies() method in ActionController::TestResponseBehaviour, returning a proxy that accesses the requests cookies when setting a cookie and the responses cookies when reading one. This allows you to set and read cookies in examples using the same API with which you set and read them in controllers.
Examples (Rails 2.0 > 2.2)
cookies[:user_id] = {:value => '1234', :expires => 1.minute.ago}
get :index
response.should be_redirect
Examples (Rails 2.3)
Rails 2.3 changes the way cookies are made available to functional tests (and therefore rspec controller specs), only making single values available with no access to other aspects of the cookie. This is backwards-incompatible, so you have to change your examples to look like this:
cookies[:foo] = 'bar' get :index cookies[:foo].should == 'bar'
# File lib/spec/rails/example/functional_example_group.rb, line 71 def cookies @cookies ||= Spec::Rails::Example::CookiesProxy.new(self) end
Provides access to the flash hash. Use this after rendering a view, calling a helper or calling a controller action.
Examples
post :create flash[:notice].should == "Success!"
# File lib/spec/rails/example/functional_example_group.rb, line 37 def flash @controller.__send__ :flash end
The params hash accessed within a view or helper. Use this before rendering a view or calling a helper to provide data used by the view or helper.
Examples
# in a view spec
params[:name] = "David"
render
response.should have_tag("div.name","David")
# in a helper spec
params[:first_name] = "David"
params[:last_name] = "Chelimsky"
helper.full_name.should == "David Chelimsky"
# File lib/spec/rails/example/functional_example_group.rb, line 27 def params request.parameters end
Provides acces to the session hash. Use this before or after rendering a view, calling a helper or calling a controller action.
# File lib/spec/rails/example/functional_example_group.rb, line 43 def session request.session end
# File lib/spec/rails/example/functional_example_group.rb, line 7 def setup # no-op to override AC::TC's setup w/ conflicts with the before(:each) below end