Hi--
On May 13, 2009, at 12:47 AM, Lee wrote:
I found a potential solution from this blog:
http://www.rubytutorials.net/2008/02/29/small-rspec-revelations-rjs/
In my spec for the view in which I want to include the AJAX
functionality ("new.html.erb_spec.erb"), I have added a couple of
Examples to drive out the some of the AJAX functionality:
<snip>
The one thing I would add is that Rails responds differently when it
receives a post with XMLHttpHeaders than when these headers are not
present. I typically put this in my spec_helper.rb and then I can
include it where necessary.
# spec_helper.rb
module XmlHttpHelper
def set_xhr_headers
request.env['HTTP_ACCEPT'] = 'application/json, text/javascript, */
*'
request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
end
end
# things_controller_spec.rb
describe ThingssController do
include XmlHttpHelper
it "should provide a not acceptable response if user is not
appropriately related and it's an xhr" do
login_as(@unrelated_child.login, 'secret')
set_xhr_headers
post :slug_collection, :name => 'bob', :collection_name =>
'my-things'
response.status.should eql('406 Not Acceptable')
end
end
Just a thought...
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users