I am trying to test a rails app using webrat. I have this sort of
construct:
<table id="entities" caption="Entity Listing" ...>
<thead>
<tr>
<th style="width:20em;">Short Name</th>
...
</tr>
<tr>
<th colspan="2">Legal Name</th>
</tr>
</thead>
<tbody>
<% for entity in @entities %>
<tr id="<%=dom_id(entity, :list)%>">
<td><%=h entity.entity_name.titlecase -%></td>
...
<td id="<%=dom_id(entity, :show)%>">
<%= link_to ''Show Entity'', entity -%></td>
<td id="<%=dom_id(entity, :edit)%>">
<%= link_to ''Edit Entity'', edit_entity_path(entity)
-%></td>
<td id="<%=dom_id(entity, :delete)%>">
<%= link_to ''Destroy Entity'', entity,
:confirm => ''Are you sure?'',
:method => :delete -%></td>
</tr>
I am trying to test the destroy link using this webrat code:
my_entity = Entity.find_by_entity_name(
"my entity number #{row.hll_words_to_i}")
within("body > table > tbody > tr#" + dom_id(my_entity,
:list) +
" > td#" + dom_id(my_entity, :delete)) do
click_link "Destroy Entity"
end
This fails with a nil exception error:
You have a nil object when you didn''t expect it!
The error occurred while evaluating nil.to_html (NoMethodError)
/usr/lib64/ruby/gems/1.8/gems/webrat-0.3.4/lib/webrat/core/scope.rb:176:in
`scoped_dom''
...
I have tried with other variants of the selector. If I check for the
selector using have_selector("td#" + dom_id(my_entity, :delete)) then
it
passes. If I use the long form above it also passes. I test for a
missing selector then have_selector fails as expected. Therefore, I am
reasonably certain that the selector is indeed being found on the page.
Any ideas as to what I am doing wrong?
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---