[rspec-users] View Testing: Action with parameters

Britt Mileshosky mileshosky at hotmail.com
Sat Jun 21 18:45:33 EDT 2008


From: dchelimsky at gmail.com
To: rspec-users at rubyforge.org
Date: Sat, 21 Jun 2008 17:13:14 -0500
Subject: Re: [rspec-users] View Testing: Action with parameters

On Jun 21, 2008, at 5:03 PM, Britt Mileshosky wrote:I'm looking for the solution to testing for the correct format of a form action with extra parameters in the url in my view tests.
I'm probably overlooking something simple, but I cannot figure out why this is not working.  Should i event be testing for this
in my view test, or should this be a controller-with-integrated-views specific test?

Thanks for the help on my first question to this list!


Test code abbreviated ----------------------------------------------------------------------------------------------------------------

@person = mock_model(Person)
assigns[:person] = @person

response.should have_tag("form[action=?][method=post]", categorizations_path(:person => @person) do


View code abbreviated ----------------------------------------------------------------------------------------------------------------

<% form_for :categorization, :url => {:person => @person} do |f| %>


Example should assert ----------------------------------------------------------------------------------------------------------------

should find form[action='/categorizations?person=1002'][method='post'] where 1002 is the autogenerated id of @person.
A view example is the right place for this.
What's the failure message you're getting?

On Jun 21, 2008, at 5:27 PM, Britt Mileshosky wrote:Expected at least 1 element matching "form[action='/categorizations?person=1002'][method='post']", found 0.
<false> is not true.

From: dchelimsky at gmail.com

To: rspec-users at rubyforge.org

Date: Sat, 21 Jun 2008 17:30:10 -0500

Subject: Re: [rspec-users] View Testing: Action with parameters

Please add 'puts response.body' to your example, run it again and copy the output back. And please post in-line rather than top posting in threads like this - it makes it much easier to follow the progression than top posting.
Thanks.


That puts did the trick.

I was getting:
<form action="/categorizations/new?person=1002" method="post">

Instead of:
<form action="/categorizations/person=1002" method="post">

because when using: 
form_for :categorizations, :url => {:person=>@person} - it defaults to the current controller action which is 'new'
the fix: 
form_for :categorizations, :url => {:action => "create", :person => @person}


Thank you for your saturday responses!  Believe it or not this is the first list ive ever subscribed to, so I hope this response is 'inline'.


_________________________________________________________________
The other season of giving begins 6/24/08. Check out the i’m Talkathon.
http://www.imtalkathon.com?source=TXT_EML_WLH_SeasonOfGiving
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20080621/c898e6e1/attachment.html>


More information about the rspec-users mailing list