summaryrefslogtreecommitdiffstats
path: root/test/integration
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-07-14 08:31:45 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-07-14 08:31:45 +0000
commit54d55a360a21569b4a76070b52177e778d5521c7 (patch)
tree9d430f4ccc6d4ad83a29a842cdfd33d9241b6279 /test/integration
parent18f693f9f7c1ff0a32ddda9b6ea43a4bb1fe28e1 (diff)
downloadredmine-54d55a360a21569b4a76070b52177e778d5521c7.tar.gz
redmine-54d55a360a21569b4a76070b52177e778d5521c7.zip
Adds assertions on response status and body.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9976 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/integration')
-rw-r--r--test/integration/api_test/issues_test.rb57
1 files changed, 21 insertions, 36 deletions
diff --git a/test/integration/api_test/issues_test.rb b/test/integration/api_test/issues_test.rb
index 9b25bc178..028b9e94f 100644
--- a/test/integration/api_test/issues_test.rb
+++ b/test/integration/api_test/issues_test.rb
@@ -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)