Ashley Moran
2007-Feb-15 15:42 UTC
[rspec-users] Specs for RJS HTML output NOT containing an element
Hi
I have an RJS template that renders a partial to update a page. I
just added a parameter to get passed into this partial to eliminate a
row in the table it generates, but I can''t find a way to test that
the unwanted output is in fact missing. should(_not)_have_tag
doesn''t work with RJS, and there''s no should_not_have from
assert
select.
What I''ve just cobbled together is this addition to my spec_helper.rb:
module Spec
module Rails
class AssertSelectWrapper
def should_not_have(*opts)
begin
should_have(*opts)
rescue Spec::Expectations::ExpectationNotMetError
else
fail_with("Expected no matching elements but at least
one was detected.")
end
end
end
end
end
module ActionController
class TestResponse
def should_not_have(*opts)
__assert_select_wrapper.should_not_have(*opts)
end
end
end
Is there already a way of doing this, or a better (shorter) way than
above?
Ashley
David Chelimsky
2007-Feb-15 16:01 UTC
[rspec-users] Specs for RJS HTML output NOT containing an element
On 2/15/07, Ashley Moran <work at ashleymoran.me.uk> wrote:> Hi > > I have an RJS template that renders a partial to update a page. I > just added a parameter to get passed into this partial to eliminate a > row in the table it generates, but I can''t find a way to test that > the unwanted output is in fact missing. should(_not)_have_tag > doesn''t work with RJS, and there''s no should_not_have from assert > select. > > What I''ve just cobbled together is this addition to my spec_helper.rb: > > module Spec > module Rails > class AssertSelectWrapper > def should_not_have(*opts) > begin > should_have(*opts) > rescue Spec::Expectations::ExpectationNotMetError > else > fail_with("Expected no matching elements but at least > one was detected.") > end > end > end > end > end > > module ActionController > class TestResponse > def should_not_have(*opts) > __assert_select_wrapper.should_not_have(*opts) > end > end > end > > Is there already a way of doing this, or a better (shorter) way than > above?If you''re using trunk (if you''re not, there is a release candidate coming in the next few days), you can do this: response.should_not have_tag(...) Cheers, David> > Ashley > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >