Lee Longmore wrote:
I am new to RSpec and have just started to drive out my first Rails view using a spec. I have used the The RSpec Book (beta) to do the basic stuff like testing for the presence of a field but I am unsure where to start for driving out some AJAX functionality.

In the view, I will have a text field that a user can enter a name into and then click on a link to check the availability of this name or otherwise. I plan to implement the check as an AJAX request, returning an HTML snippet or 'available' or 'not available'.

gem install nokogiri rkelly assert2
...
require 'assert2/rjs'

  specify 'a simple passing assertion works' do
    xhr :get, :xhr_availability, :name => 'masone'
    js = @response.body
    js.should send_js_to(:replace_html, 'label_7', /available/)

    js.should send_js_to(:replace_html, 'label_7'){
                span /available/
                }
  end

The first send_js_to just checks for a regexp to match the payload of the Element.update call. The second one uses {} to generate a Nokogiri Builder snippet of HTML, and match that. Here it's just span, but it could have been more complex HTML. Google assert_xhtml for more on that.

I would appreciate some help on what sort of examples one might write and the various mocks, stubs and helpers etc that can be used. Or alternatively a pointer to some existing information/tutorials on this topic.

The RSpec community, in my exalted opinion, mocks too much! If you can't use the real thing, it's too coupled, so break it up!

--
  Phlip
  http://flea.sourceforge.net/resume.html

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to