aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/mime
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-05-20 08:58:17 +0200
committerYves Senn <yves.senn@gmail.com>2014-05-20 08:58:17 +0200
commit7591e8c1a752c92091225c3b8503ea31453af595 (patch)
treef18eca9feab5e4aef710f705be2086d55066a0b5 /actionpack/test/controller/mime
parent00d1b132c0194b3a9b495ad43ba0c1198755b548 (diff)
parentf0440205f67f9c5acc0b5b8119f1e212035bd57c (diff)
downloadrails-7591e8c1a752c92091225c3b8503ea31453af595.tar.gz
rails-7591e8c1a752c92091225c3b8503ea31453af595.tar.bz2
rails-7591e8c1a752c92091225c3b8503ea31453af595.zip
Merge pull request #15182 from zuhao/refactor_actionpack_respond_with_test_2
Un-define :to_json for Customer class after stubbing.
Diffstat (limited to 'actionpack/test/controller/mime')
-rw-r--r--actionpack/test/controller/mime/respond_with_test.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/actionpack/test/controller/mime/respond_with_test.rb b/actionpack/test/controller/mime/respond_with_test.rb
index 742225fec5..115f3b2f41 100644
--- a/actionpack/test/controller/mime/respond_with_test.rb
+++ b/actionpack/test/controller/mime/respond_with_test.rb
@@ -2,6 +2,10 @@ require 'abstract_unit'
require 'controller/fake_models'
class RespondWithController < ActionController::Base
+ class CustomerWithJson < Customer
+ def to_json; super; end
+ end
+
respond_to :html, :json, :touch
respond_to :xml, :except => :using_resource_with_block
respond_to :js, :only => [ :using_resource_with_block, :using_resource, 'using_hash_resource' ]
@@ -38,6 +42,10 @@ class RespondWithController < ActionController::Base
respond_with(resource, :location => "http://test.host/", :status => :created)
end
+ def using_resource_with_json
+ respond_with(CustomerWithJson.new("david", request.delete? ? nil : 13))
+ end
+
def using_invalid_resource_with_template
respond_with(resource)
end
@@ -380,9 +388,8 @@ class RespondWithControllerTest < ActionController::TestCase
end
def test_using_resource_for_put_with_json_yields_no_content_on_success
- Customer.any_instance.stubs(:to_json).returns('{"name": "David"}')
@request.accept = "application/json"
- put :using_resource
+ put :using_resource_with_json
assert_equal "application/json", @response.content_type
assert_equal 204, @response.status
assert_equal "", @response.body
@@ -431,10 +438,9 @@ class RespondWithControllerTest < ActionController::TestCase
end
def test_using_resource_for_delete_with_json_yields_no_content_on_success
- Customer.any_instance.stubs(:to_json).returns('{"name": "David"}')
Customer.any_instance.stubs(:destroyed?).returns(true)
@request.accept = "application/json"
- delete :using_resource
+ delete :using_resource_with_json
assert_equal "application/json", @response.content_type
assert_equal 204, @response.status
assert_equal "", @response.body