Patch by Takenori TAKAKI. git-svn-id: http://svn.redmine.org/redmine/trunk@21225 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/5.0.0
@@ -4,7 +4,7 @@ api.array :issues, api_meta(:total_count => @issue_count, :offset => @offset, :l | |||
api.id issue.id | |||
api.project(:id => issue.project_id, :name => issue.project.name) unless issue.project.nil? | |||
api.tracker(:id => issue.tracker_id, :name => issue.tracker.name) unless issue.tracker.nil? | |||
api.status(:id => issue.status_id, :name => issue.status.name) unless issue.status.nil? | |||
api.status(:id => issue.status_id, :name => issue.status.name, :is_closed => issue.status.is_closed) unless issue.status.nil? | |||
api.priority(:id => issue.priority_id, :name => issue.priority.name) unless issue.priority.nil? | |||
api.author(:id => issue.author_id, :name => issue.author.name) unless issue.author.nil? | |||
api.assigned_to(:id => issue.assigned_to_id, :name => issue.assigned_to.name) unless issue.assigned_to.nil? |
@@ -2,7 +2,7 @@ api.issue do | |||
api.id @issue.id | |||
api.project(:id => @issue.project_id, :name => @issue.project.name) unless @issue.project.nil? | |||
api.tracker(:id => @issue.tracker_id, :name => @issue.tracker.name) unless @issue.tracker.nil? | |||
api.status(:id => @issue.status_id, :name => @issue.status.name) unless @issue.status.nil? | |||
api.status(:id => @issue.status_id, :name => @issue.status.name, :is_closed => @issue.status.is_closed) unless @issue.status.nil? | |||
api.priority(:id => @issue.priority_id, :name => @issue.priority.name) unless @issue.priority.nil? | |||
api.author(:id => @issue.author_id, :name => @issue.author.name) unless @issue.author.nil? | |||
api.assigned_to(:id => @issue.assigned_to_id, :name => @issue.assigned_to.name) unless @issue.assigned_to.nil? | |||
@@ -80,7 +80,7 @@ api.issue do | |||
api.array :allowed_statuses do | |||
@allowed_statuses.each do |status| | |||
api.status :id => status.id, :name => status.name | |||
api.status :id => status.id, :name => status.name, :is_closed => status.is_closed | |||
end | |||
end if include_in_api_response?('allowed_statuses') | |||
end |
@@ -141,6 +141,16 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base | |||
assert_select 'issues>issue>is_private', :text => 'false' | |||
end | |||
def test_index_should_include_issue_status_is_closed_false | |||
get '/issues.xml' | |||
assert_select 'issues>issue>status[is_closed=false]' | |||
end | |||
def test_index_should_include_issue_status_is_closed_true | |||
get '/issues.xml?status_id=5' | |||
assert_select 'issues>issue>status[is_closed=true]' | |||
end | |||
def test_index_should_include_spent_hours | |||
Issue.delete_all | |||
parent = Issue.generate!(:estimated_hours => 2.0) | |||
@@ -391,6 +401,7 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base | |||
def test_show_should_include_issue_attributes | |||
get '/issues/1.xml' | |||
assert_select 'issue>is_private', :text => 'false' | |||
assert_select 'issue>status[is_closed=false]' | |||
end | |||
test "GET /issues/:id.xml?include=watchers should include watchers" do | |||
@@ -433,13 +444,14 @@ class Redmine::ApiTest::IssuesTest < Redmine::ApiTest::Base | |||
assert_response :ok | |||
assert_equal 'application/xml', response.media_type | |||
allowed_statuses = [[1, 'New'], [2, 'Assigned'], [4, 'Feedback'], [5, 'Closed'], [6, 'Rejected']] | |||
allowed_statuses = [[1, 'New', 'false'], [2, 'Assigned', 'false'], [4, 'Feedback', 'false'], [5, 'Closed', 'true'], [6, 'Rejected', 'true']] | |||
assert_select 'issue allowed_statuses[type=array]' do | |||
assert_select 'status', allowed_statuses.length | |||
assert_select('status').each_with_index do |status, idx| | |||
id, name, = allowed_statuses[idx] | |||
id, name, is_closed = allowed_statuses[idx] | |||
assert_equal id.to_s, status['id'] | |||
assert_equal name, status['name'] | |||
assert_equal is_closed, status['is_closed'] | |||
end | |||
end | |||
end |