]> source.dussan.org Git - redmine.git/commitdiff
Merged r19581 from trunk to 4.0-stable (#33113).
authorGo MAEDA <maeda@farend.jp>
Thu, 19 Mar 2020 08:56:53 +0000 (08:56 +0000)
committerGo MAEDA <maeda@farend.jp>
Thu, 19 Mar 2020 08:56:53 +0000 (08:56 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/4.0-stable@19585 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/projects/show.api.rsb
test/integration/api_test/projects_test.rb

index 6e1958a34ec2118de193fe242aaf0cbc6017ce17..3a2addd30cf05eaf112241add556102cd3a8fa1a 100644 (file)
@@ -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)
index f5d1e69c2a9fe09575633989813b4d3cf76d0e95..f5382e75714bde8c058b3cf3756bfef4b1f5f78f 100644 (file)
@@ -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