Nuevo plugin Additionals 2.0.20

This commit is contained in:
Manuel Cillero 2019-06-16 12:53:09 +02:00
parent a2a901b71b
commit 93e1e28683
354 changed files with 40514 additions and 0 deletions

View file

@ -0,0 +1,114 @@
require File.expand_path('../../../test_helper', __FILE__)
module ApiTest
class IssuesTest < Redmine::ApiTest::Base
fixtures :projects,
:users,
:roles,
:members,
:member_roles,
:issues,
:issue_statuses,
:issue_relations,
:versions,
:trackers,
:projects_trackers,
:issue_categories,
:enabled_modules,
:enumerations,
:attachments,
:workflows,
:time_entries,
:journals,
:journal_details,
:queries
include Additionals::TestHelper
test 'GET /issues.xml should contain metadata' do
get '/issues.xml'
assert_select 'issues[type=array][total_count][limit="25"][offset="0"]'
end
test 'GET /issues/:id.xml with subtasks' do
issue = Issue.generate_with_descendants!(project_id: 1)
get "/issues/#{issue.id}.xml?include=children"
assert_select 'issue id', text: issue.id.to_s do
assert_select '~ children[type=array] > issue', 2
assert_select '~ children[type=array] > issue > children', 1
end
end
test 'POST /issues.xml should create an issue with the attributes' do
with_additionals_settings(issue_status_change: '0',
issue_auto_assign: '0',
issue_auto_assign_status: ['1'],
issue_auto_assign_role: '1') do
payload = <<-XML
<?xml version="1.0" encoding="UTF-8" ?>
<issue>
<project_id>1</project_id>
<tracker_id>2</tracker_id>
<status_id>3</status_id>
<subject>API test</subject>
</issue>
XML
assert_difference('Issue.count') do
post '/issues.xml',
params: payload,
headers: { 'CONTENT_TYPE' => 'application/xml' }.merge(credentials('jsmith'))
end
issue = Issue.order(id: :desc).first
assert_equal 1, issue.project_id
assert_nil issue.assigned_to_id
assert_equal 'API test', issue.subject
assert_response :created
assert_equal 'application/xml', @response.content_type
assert_select 'issue > id', text: issue.id.to_s
end
end
test 'POST /issues.xml should create an issue with auto assigned_to_id' do
with_additionals_settings(issue_status_change: '0',
issue_auto_assign: '1',
issue_auto_assign_status: ['1'],
issue_auto_assign_role: '1') do
payload = <<-XML
<?xml version="1.0" encoding="UTF-8" ?>
<issue>
<project_id>1</project_id>
<subject>API test</subject>
</issue>
XML
assert_difference('Issue.count') do
post '/issues.xml',
params: payload,
headers: { 'CONTENT_TYPE' => 'application/xml' }.merge(credentials('jsmith'))
end
issue = Issue.order(id: :desc).first
assert_equal 1, issue.project_id
assert_equal 2, issue.assigned_to_id
assert_equal 'API test', issue.subject
assert_response :created
assert_equal 'application/xml', @response.content_type
assert_select 'issue > id', text: issue.id.to_s
end
end
test 'DELETE /issues/:id.xml' do
assert_difference('Issue.count', -1) do
delete '/issues/6.xml', headers: credentials('jsmith')
assert_response :ok
assert_equal '', response.body
end
assert_nil Issue.find_by(id: 6)
end
end
end

View file

@ -0,0 +1,39 @@
require File.expand_path('../../test_helper', __FILE__)
class CommonViewsTest < Redmine::IntegrationTest
fixtures :projects,
:users,
:roles,
:members,
:member_roles,
:trackers,
:projects_trackers,
:enabled_modules,
:issue_statuses,
:issues,
:enumerations,
:custom_fields,
:custom_values,
:custom_fields_trackers
include Additionals::TestHelper
def setup
prepare_tests
end
test 'View user' do
log_user('admin', 'admin')
get '/users/2'
assert_response :success
end
test 'View issue' do
log_user('admin', 'admin')
EnabledModule.create(project_id: 1, name: 'issue_tracking')
issue = Issue.where(id: 1).first
issue.save
get '/issues/1'
assert_response :success
end
end

View file

@ -0,0 +1,36 @@
require File.expand_path('../../test_helper', __FILE__)
class JavascriptLibraryTest < Redmine::IntegrationTest
def test_loaded_css_libraries
get '/'
assert_response :success
assert_select 'link[rel=stylesheet][href^=?]', '/plugin_assets/additionals/stylesheets/fontawesome-all.min.css'
return unless Redmine::Plugin.installed?('redmine_reporting')
assert_select 'link[rel=stylesheet][href^=?]', '/plugin_assets/additionals/stylesheets/nv.d3.min.css', count: 1
end
def test_not_loaded_css_libraries
get '/'
assert_response :success
return if Redmine::Plugin.installed?('redmine_reporting')
assert_select 'link[rel=stylesheet][href^=?]', '/plugin_assets/additionals/stylesheets/nv.d3.min.css', count: 0
end
def test_not_loaded_javascript_libraries
get '/'
assert_response :success
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/bootstrap.js', count: 0
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/bootstrap.min.js', count: 0
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/d3plus.full.min.js', count: 0
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/noreferrer.js', count: 0
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/mermaid.min.js', count: 0
assert_select 'script[src^=?]', '/plugin_assets/additionals/javascripts/mermaid_load.js', count: 0
end
end

View file

@ -0,0 +1,11 @@
require File.expand_path('../../test_helper', __FILE__)
class RoutingTest < Redmine::RoutingTest
def test_issue_assign_to_me
should_route 'PUT /issues/1/assign_to_me' => 'additionals_assign_to_me#update', issue_id: '1'
end
def test_issue_change_status
should_route 'PUT /issues/1/change_status' => 'additionals_change_status#update', issue_id: '1'
end
end