From: Go MAEDA Date: Thu, 19 Mar 2020 08:56:53 +0000 (+0000) Subject: Merged r19581 from trunk to 4.0-stable (#33113). X-Git-Tag: 4.0.7~11 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f9b5eeb1afe6fff3c1472f0986be675bd21f1058;p=redmine.git Merged r19581 from trunk to 4.0-stable (#33113). git-svn-id: http://svn.redmine.org/redmine/branches/4.0-stable@19585 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/views/projects/show.api.rsb b/app/views/projects/show.api.rsb index 6e1958a34..3a2addd30 100644 --- a/app/views/projects/show.api.rsb +++ b/app/views/projects/show.api.rsb @@ -7,6 +7,8 @@ api.project do api.parent(:id => @project.parent.id, :name => @project.parent.name) if @project.parent && @project.parent.visible? api.status @project.status api.is_public @project.is_public? + api.default_version(:id => @project.default_version.id, :name => @project.default_version.name) if @project.default_version + api.default_assignee(:id => @project.project.default_assigned_to.id, :name => @project.project.default_assigned_to.name) if @project.default_assigned_to render_api_custom_values @project.visible_custom_field_values, api render_api_includes(@project, api) diff --git a/test/integration/api_test/projects_test.rb b/test/integration/api_test/projects_test.rb index f5d1e69c2..f5382e757 100644 --- a/test/integration/api_test/projects_test.rb +++ b/test/integration/api_test/projects_test.rb @@ -94,6 +94,8 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base assert_kind_of Hash, json assert_kind_of Hash, json['project'] assert_equal 1, json['project']['id'] + assert_equal false, json['project'].has_key?('default_version') + assert_equal false, json['project'].has_key?('default_assignee') end test "GET /projects/:id.xml with hidden custom fields should not display hidden custom fields" do @@ -138,6 +140,29 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base assert_select 'enabled_modules[type=array] enabled_module[name=issue_tracking]' end + def test_get_project_with_default_version_and_assignee + user = User.find(3) + version = Version.find(1) + Project.find(1).update!(default_assigned_to_id: user.id, default_version_id: version.id) + + get '/projects/1.json' + + json = ActiveSupport::JSON.decode(response.body) + assert_kind_of Hash, json + assert_kind_of Hash, json['project'] + assert_equal 1, json['project']['id'] + + assert json['project'].has_key?('default_assignee') + assert_equal 2, json['project']['default_assignee'].length + assert_equal user.id, json['project']['default_assignee']['id'] + assert_equal user.name, json['project']['default_assignee']['name'] + + assert json['project'].has_key?('default_version') + assert_equal 2, json['project']['default_version'].length + assert_equal version.id, json['project']['default_version']['id'] + assert_equal version.name, json['project']['default_version']['name'] + end + test "POST /projects.xml with valid parameters should create the project" do with_settings :default_projects_modules => ['issue_tracking', 'repository'] do assert_difference('Project.count') do