I have this statement in the layout of my application (using haml)
- if request.env[“HTTP_USER_AGENT”].include?(“MSIE”)
= stylesheet_link_tag ‘blueprint/ie.css’
= stylesheet_link_tag ‘confirm_ie.css’
The problem is that request.env[“HTTP_USER_AGENT”] is nil when I go to
some page in the features I write with cucumber and webrat
This is the error I get
You have a nil object when you didn’t expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.include?
(ActionView::TemplateError)
On line #23 of layouts/application.html.haml
¿How can I stub these methods for the reponse object?
Thanks
Juan M. Cervera
I’m sure it’s possible, but sorry I don’t know how offhand. I’ll tell
you what I know and see if it’s enough to help you figure it out for
yourself.
The code you write in cucumber steps (which calls webrat) runs inside
the context of a rails ActionController::Integration::Session. Have a
look at the docs for that - somebody must have done this before for
rails.
You can play with this in script/console by calling the ‘app’ object
e.g.
$ script/console
app.post “/session”, :username => ‘matt’, :password => ‘secret’
If you want it to behave just like in your steps, require ‘webrat’ so
that the ActionController::Integration::Session class is monkey-
patched with the webrat goodness.
Thanks Matt.
I have check the rails api and see that I can pass a hash with the
headers as a parameter with the post command.
post “/session”,
{:username => ‘matt’, :password => ‘secret’},
{:HTTP_USER_AGENT => “MSIE”}
and this works for me, by now, I don’t know if I will have some more
troubles with webrat.
Thanks.
Well, Matt was right.
I have not got the solution for my problems.
The problem is that I can’t set the headers with click_button or visits.
If anyone knows how to set the request headers with these methods of
webrat, this would be very helpful.
Thank yus
Matt W. wrote:
Cool.
Be aware that you’re by-passing webrat by using the post method -
that’s one of the ‘raw’ rails calls that webrat wraps up in its
elegant set of methods.
It may be that you can pass this same hash to clicks_button but I
don’t know - you’d have to check the webrat source.
Cool.
Be aware that you’re by-passing webrat by using the post method -
that’s one of the ‘raw’ rails calls that webrat wraps up in its
elegant set of methods.
It may be that you can pass this same hash to clicks_button but I
don’t know - you’d have to check the webrat source.