Adds assertions on response status and body.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9976 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
18f693f9f7
commit
54d55a360a
|
@ -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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
should "not create a new journal" do
|
||||
assert_no_difference('Journal.count') do
|
||||
put '/issues/6.json', @parameters, credentials('jsmith')
|
||||
end
|
||||
end
|
||||
put '/issues/6.json', {:issue => {:subject => ''}}, credentials('jsmith')
|
||||
|
||||
should "have an errors attribute" do
|
||||
put '/issues/6.json', @parameters, credentials('jsmith')
|
||||
assert_response :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
json = ActiveSupport::JSON.decode(response.body)
|
||||
assert json['errors'].include?("Subject can't be blank")
|
||||
|
@ -687,6 +666,9 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
|
|||
should "delete the issue" 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)
|
||||
|
@ -702,6 +684,9 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest
|
|||
should "delete the issue" 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)
|
||||
|
|
Loading…
Reference in New Issue