From 0d3333257156544feba729ba28f6874d5a30d561 Mon Sep 17 00:00:00 2001
From: Szymon Nowak <szimek@gmail.com>
Date: Mon, 11 Oct 2010 19:37:03 +0200
Subject: Return a valid empty JSON on successful PUT and DELETE requests.
 [#5199 state:resolved]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: José Valim <jose.valim@gmail.com>
---
 actionpack/test/controller/mime_responds_test.rb | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

(limited to 'actionpack/test')

diff --git a/actionpack/test/controller/mime_responds_test.rb b/actionpack/test/controller/mime_responds_test.rb
index adccfa028f..a898ef76e5 100644
--- a/actionpack/test/controller/mime_responds_test.rb
+++ b/actionpack/test/controller/mime_responds_test.rb
@@ -709,6 +709,15 @@ class RespondWithControllerTest < ActionController::TestCase
     assert_equal " ", @response.body
   end
 
+  def test_using_resource_for_put_with_json_yields_ok_on_success
+    Customer.any_instance.stubs(:to_json).returns('{"name": "David"}')
+    @request.accept = "application/json"
+    put :using_resource
+    assert_equal "application/json", @response.content_type
+    assert_equal 200, @response.status
+    assert_equal "{}", @response.body
+  end
+
   def test_using_resource_for_put_with_xml_yields_unprocessable_entity_on_failure
     @request.accept = "application/xml"
     errors = { :name => :invalid }
@@ -739,6 +748,16 @@ class RespondWithControllerTest < ActionController::TestCase
     assert_equal " ", @response.body
   end
 
+  def test_using_resource_for_delete_with_json_yields_ok_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
+    assert_equal "application/json", @response.content_type
+    assert_equal 200, @response.status
+    assert_equal "{}", @response.body
+  end
+
   def test_using_resource_for_delete_with_html_redirects_on_failure
     with_test_route_set do
       errors = { :name => :invalid }
-- 
cgit v1.2.3