Hmm, thanks. Still not sure if I'm diagnosing my problem correctly. Just
to be clear, I don't have any user authentication going on, just a
regular Rails button_to call. I tried installing webrat and put "visits
'/' " in my "given" step and "clicks_button" in my "when" step. However
I get an error from my_story.rb - "No such file or directory - open
tmp/webrat-12233801950.html.
Presumably my issue would also apply in posting a form in a regular
Rails integration test. The example on pp207-208 of AWDR doesn't
suggest that anything needs to be done in a post call to achieve session
authentication. And I see here -
http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#M000693
that forgery protection is actually turned off in testing - which I've
confirmed in my config/environments/test.rb. So maybe I have some other
problem causing my response test to fail. Any other suggestions would be
appreciated.
Mark.
Matt Wynne wrote:
This is actually a pretty tough problem for a newbie, and sent me
reeling away from the story runner with my gumption in tatters the
first time I tried it.
You could probably figure out how to post an authentication token in
the HTTP headers if you use the basic underlying rails integration
session method post(), but you may be better off just walking through
the steps a real user would carry out in order to log in:
Given /logged in/ do
visits "/login"
fills_in :username, "Matt"
fills_in :password, "secret"
presses_button
end
This is what we do, and though instinctively it feels a little bit
slow and clunky to do this at the top of every scenario that requires
the user to be authenticated, in practice it's working fine for us,
and I actually find it rather nice to know you're only vaguely coupled
to the implementation.
Note that these steps above use the 'webrat' library which is the
de-facto way to talk to your rails app from feature steps.
On 7 Oct 2008, at 02:52, Mark Thomson wrote:
Hi, I have a simple story that involves the user clicking a button
and a new page being rendered. Seems like a simple situation, but
it's testing my limited knowledge. The problem I have is my response
test is failing, and I'm guessing it's because the button click is
meant to submit a post request with an authentication token, which
would therefore have to be included in the post call in my scenario's
"when" step. My question is how do I go about determining the
required value of the authentication_token? Or am I just really
confused?
Mark.
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users