Redmine 4.1.1
This commit is contained in:
parent
33e7b881a5
commit
3d976f1b3b
1593 changed files with 36180 additions and 19489 deletions
|
@ -1,5 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2019 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -28,13 +30,20 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
end
|
||||
|
||||
test "GET /projects.xml should return projects" do
|
||||
project = Project.find(1)
|
||||
project.inherit_members = '1'
|
||||
project.save!
|
||||
|
||||
get '/projects.xml'
|
||||
assert_response :success
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
|
||||
assert_select 'projects>project>id', :text => '1'
|
||||
assert_select 'projects>project>status', :text => '1'
|
||||
assert_select 'projects>project>is_public', :text => 'true'
|
||||
assert_select 'projects>project:first-child' do
|
||||
assert_select '>id', :text => '1'
|
||||
assert_select '>status', :text => '1'
|
||||
assert_select '>is_public', :text => 'true'
|
||||
assert_select '>inherit_members', :text => 'true'
|
||||
end
|
||||
end
|
||||
|
||||
test "GET /projects.json should return projects" do
|
||||
|
@ -47,6 +56,7 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
assert_kind_of Array, json['projects']
|
||||
assert_kind_of Hash, json['projects'].first
|
||||
assert json['projects'].first.has_key?('id')
|
||||
assert json['projects'].first.has_key?('inherit_members')
|
||||
end
|
||||
|
||||
test "GET /projects.xml with include=issue_categories should return categories" do
|
||||
|
@ -74,6 +84,8 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
end
|
||||
|
||||
test "GET /projects/:id.xml should return the project" do
|
||||
Project.find(1).update!(:inherit_members => '1')
|
||||
|
||||
get '/projects/1.xml'
|
||||
assert_response :success
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
|
@ -81,6 +93,7 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
assert_select 'project>id', :text => '1'
|
||||
assert_select 'project>status', :text => '1'
|
||||
assert_select 'project>is_public', :text => 'true'
|
||||
assert_select 'project>inherit_members', :text => 'true'
|
||||
assert_select 'custom_field[name="Development status"]', :text => 'Stable'
|
||||
|
||||
assert_select 'trackers', 0
|
||||
|
@ -94,6 +107,9 @@ 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']['inherit_members']
|
||||
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 +154,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
|
||||
|
@ -198,9 +237,9 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
:params => {:project => {:name => 'API update'}},
|
||||
:headers => credentials('jsmith')
|
||||
end
|
||||
assert_response :ok
|
||||
assert_response :no_content
|
||||
assert_equal '', @response.body
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
assert_nil @response.content_type
|
||||
project = Project.find(2)
|
||||
assert_equal 'API update', project.name
|
||||
end
|
||||
|
@ -211,7 +250,7 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
:params => {:project => {:name => 'API update', :enabled_module_names => ['issue_tracking', 'news', 'time_tracking']}},
|
||||
:headers => credentials('admin')
|
||||
end
|
||||
assert_response :ok
|
||||
assert_response :no_content
|
||||
assert_equal '', @response.body
|
||||
project = Project.find(2)
|
||||
assert_equal ['issue_tracking', 'news', 'time_tracking'], project.enabled_module_names.sort
|
||||
|
@ -223,7 +262,7 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
:params => {:project => {:name => 'API update', :tracker_ids => [1, 3]}},
|
||||
:headers => credentials('admin')
|
||||
end
|
||||
assert_response :ok
|
||||
assert_response :no_content
|
||||
assert_equal '', @response.body
|
||||
project = Project.find(2)
|
||||
assert_equal [1, 3], project.trackers.map(&:id).sort
|
||||
|
@ -245,7 +284,7 @@ class Redmine::ApiTest::ProjectsTest < Redmine::ApiTest::Base
|
|||
assert_difference('Project.count',-1) do
|
||||
delete '/projects/2.xml', :headers => credentials('admin')
|
||||
end
|
||||
assert_response :ok
|
||||
assert_response :no_content
|
||||
assert_equal '', @response.body
|
||||
assert_nil Project.find_by_id(2)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue