If your controller action looks like this:
respond_to do |format| format.html { raise 'Unsupported' } format.js # index.js.erb end
and your functional test looks like this:
test "javascript response..." do get :index end
it will execute the HTML branch of the respond_to block.
If you try this:
test "javascript response..." do get 'index.js' end
it executes the view (index.js.erb) withOUT running the controller action!
Pass in a :format
with your normal params to trigger a response in that format.
get :index, :format => 'js'
No need to mess with your request headers.
with rspec:
it "should render js" do xhr :get, 'index' response.content_type.should == Mime::JS end
and in your controller action:
respond_to do |format| format.js end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With