]> source.dussan.org Git - redmine.git/commitdiff
Adds assertions on response status and body.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 14 Jul 2012 08:31:45 +0000 (08:31 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 14 Jul 2012 08:31:45 +0000 (08:31 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9976 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/integration/api_test/issues_test.rb

index 9b25bc1783d48ef76ca2558914dbb89e19761d28..028b9e94fe425461c3bfcb140cf0ac8ff696e546 100644 (file)
@@ -625,53 +625,32 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
                                     {:issue => {:subject => 'API update', :notes => 'A new note'}},
                                     {:success_code => :ok})
 
-    should "not create a new issue" do
+    should "update the issue" do
       assert_no_difference('Issue.count') do
-        put '/issues/6.json', @parameters, credentials('jsmith')
-      end
-    end
+        assert_difference('Journal.count') do
+          put '/issues/6.json', @parameters, credentials('jsmith')
 
-    should "create a new journal" do
-      assert_difference('Journal.count') do
-        put '/issues/6.json', @parameters, credentials('jsmith')
+          assert_response :ok
+          assert_equal '', response.body
+        end
       end
-    end
-
-    should "add the note to the journal" do
-      put '/issues/6.json', @parameters, credentials('jsmith')
-
-      journal = Journal.last
-      assert_equal "A new note", journal.notes
-    end
-
-    should "update the issue" do
-      put '/issues/6.json', @parameters, credentials('jsmith')
 
       issue = Issue.find(6)
       assert_equal "API update", issue.subject
+      journal = Journal.last
+      assert_equal "A new note", journal.notes
     end
-
   end
 
   context "PUT /issues/6.json with failed update" do
-    setup do
-      @parameters = {:issue => {:subject => ''}}
-    end
-
-    should "not create a new issue" do
+    should "return errors" do
       assert_no_difference('Issue.count') do
-        put '/issues/6.json', @parameters, credentials('jsmith')
-      end
-    end
+        assert_no_difference('Journal.count') do
+          put '/issues/6.json', {:issue => {:subject => ''}}, credentials('jsmith')
 
-    should "not create a new journal" do
-      assert_no_difference('Journal.count') do
-        put '/issues/6.json', @parameters, credentials('jsmith')
+          assert_response :unprocessable_entity
+        end
       end
-    end
-
-    should "have an errors attribute" do
-      put '/issues/6.json', @parameters, credentials('jsmith')
 
       json = ActiveSupport::JSON.decode(response.body)
       assert json['errors'].include?("Subject can't be blank")
@@ -685,8 +664,11 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
                                     {:success_code => :ok})
 
     should "delete the issue" do
-      assert_difference('Issue.count',-1) do
+      assert_difference('Issue.count', -1) do
         delete '/issues/6.xml', {}, credentials('jsmith')
+
+        assert_response :ok
+        assert_equal '', response.body
       end
 
       assert_nil Issue.find_by_id(6)
@@ -700,8 +682,11 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
                                     {:success_code => :ok})
 
     should "delete the issue" do
-      assert_difference('Issue.count',-1) do
+      assert_difference('Issue.count', -1) do
         delete '/issues/6.json', {}, credentials('jsmith')
+
+        assert_response :ok
+        assert_equal '', response.body
       end
 
       assert_nil Issue.find_by_id(6)