From: Jean-Philippe Lang Date: Sun, 20 Nov 2011 14:55:44 +0000 (+0000) Subject: Makes issue categories available in project REST API (#9553). X-Git-Tag: 1.3.0~132 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=30556f8cbfac04d5d6c6e3a9331874b7e83954d6;p=redmine.git Makes issue categories available in project REST API (#9553). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7880 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/views/projects/show.api.rsb b/app/views/projects/show.api.rsb index 3167e3f0a..a6f26f893 100644 --- a/app/views/projects/show.api.rsb +++ b/app/views/projects/show.api.rsb @@ -16,4 +16,10 @@ api.project do api.tracker(:id => tracker.id, :name => tracker.name) end end if include_in_api_response?('trackers') + + api.array :issue_categories do + @project.issue_categories.each do |category| + api.issue_category(:id => category.id, :name => category.name) + end + end if include_in_api_response?('issue_categories') end diff --git a/test/integration/api_test/projects_test.rb b/test/integration/api_test/projects_test.rb index 6b7d8d659..729333bed 100644 --- a/test/integration/api_test/projects_test.rb +++ b/test/integration/api_test/projects_test.rb @@ -20,7 +20,7 @@ require File.expand_path('../../../test_helper', __FILE__) class ApiTest::ProjectsTest < ActionController::IntegrationTest fixtures :projects, :versions, :users, :roles, :members, :member_roles, :issues, :journals, :journal_details, :trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages, - :attachments, :custom_fields, :custom_values, :time_entries + :attachments, :custom_fields, :custom_values, :time_entries, :issue_categories def setup Setting.rest_api_enabled = '1' @@ -69,6 +69,9 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest :child => {:tag => 'id', :content => '1'} assert_tag :tag => 'custom_field', :attributes => {:name => 'Development status'}, :content => 'Stable' + + assert_no_tag 'trackers' + assert_no_tag 'issue_categories' end context "with hidden custom fields" do @@ -85,6 +88,38 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest :attributes => {:name => 'Development status'} end end + + should "return categories with include=issue_categories" do + get '/projects/1.xml?include=issue_categories' + assert_response :success + assert_equal 'application/xml', @response.content_type + + assert_tag 'issue_categories', + :attributes => {:type => 'array'}, + :child => { + :tag => 'issue_category', + :attributes => { + :id => '2', + :name => 'Recipes' + } + } + end + + should "return trackers with include=trackers" do + get '/projects/1.xml?include=trackers' + assert_response :success + assert_equal 'application/xml', @response.content_type + + assert_tag 'trackers', + :attributes => {:type => 'array'}, + :child => { + :tag => 'tracker', + :attributes => { + :id => '2', + :name => 'Feature request' + } + } + end end context ".json" do