Monday, February 5, 2007

assert_select_rjs with on a page with "page.select" in it

I'm writing a bunch of tests RJS actions. One such action updates a DIV if it exists, but the DIV isn't always necessarily present on the page so I use a page.select in the RJS to check if it exists. (Know of a better way to do that? I wish page.replace_html would just silently fail instead of throwing an exception when the element doesn't exist)

Anyway, here's an example of the problem. Let's say we have an RJS page containing:

page.select("some_element_that_may_or_may_not_exist").each do |value|
page.replace_html value, "something"
end



Writing a test like this fails:

assert_select_rjs "some_element_that_may_or_may_not_exist" do
...
end

so does:

assert_select_rjs do
assert_select "some_element_that_may_or_may_not_exist", :count => 1
end


I'm assuming this is because of the page.select. I was forced to drop testing of this for now. If I find a fix, I'll post it here.

No comments: