Actualiza el plugin Additionals a 3.0.2-master
This commit is contained in:
parent
3b6a41320c
commit
cfa0d58b18
164 changed files with 2027 additions and 58190 deletions
279
plugins/additionals/test/crud_controller_base.rb
Normal file
279
plugins/additionals/test/crud_controller_base.rb
Normal file
|
@ -0,0 +1,279 @@
|
|||
module CrudControllerBase
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
# Show
|
||||
|
||||
def test_show
|
||||
unless prepare_crud_test :show
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
get :show
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
get :show, params: @crud[:show_params].presence || { id: @crud[:entity].id }
|
||||
|
||||
if @crud[:show_assert_response].present?
|
||||
assert_response @crud[:show_assert_response]
|
||||
else
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
assert_select(*@crud[:show_assert_select]) if @crud[:show_assert_select].present?
|
||||
end
|
||||
|
||||
def test_show_without_permission
|
||||
return unless prepare_crud_test :show, no_permission: true
|
||||
|
||||
get :show, params: @crud[:show_params].presence || { id: @crud[:entity].id }
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
# Index
|
||||
|
||||
def test_index
|
||||
unless prepare_crud_test :index
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
get :index
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
get :index, params: @crud[:index_params]
|
||||
|
||||
if @crud[:index_assert_response].present?
|
||||
assert_response @crud[:index_assert_response]
|
||||
else
|
||||
assert_response :success
|
||||
end
|
||||
assert_select(*@crud[:index_assert_select]) if @crud[:index_assert_select].present?
|
||||
end
|
||||
|
||||
def test_index_without_permission
|
||||
return unless prepare_crud_test :index, no_permission: true
|
||||
|
||||
get :index, params: @crud[:index_params]
|
||||
|
||||
if @crud[:index_forbitten_status].present?
|
||||
assert_response @crud[:index_forbitten_status]
|
||||
else
|
||||
assert_response :forbidden
|
||||
end
|
||||
end
|
||||
|
||||
# New
|
||||
|
||||
def test_new
|
||||
unless prepare_crud_test :new
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
get :new
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
get :new, params: @crud[:new_params].presence || {}
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_new_without_permission
|
||||
return unless prepare_crud_test :new, no_permission: true
|
||||
|
||||
get :new, params: @crud[:new_params].presence || {}
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
# Create
|
||||
|
||||
def test_create
|
||||
unless prepare_crud_test :create
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
post :create
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
assert_difference("#{@crud[:entity].class.name}.count") do
|
||||
assert_no_difference 'Journal.count' do
|
||||
post :create, params: form_params(:create)
|
||||
end
|
||||
end
|
||||
|
||||
if @crud[:create_redirect_to]
|
||||
assert_redirected_to @crud[:create_redirect_to]
|
||||
else
|
||||
assert_response 302
|
||||
end
|
||||
|
||||
entity = @crud[:entity].class.order(id: :desc).first
|
||||
|
||||
if @crud[:created_assert].present?
|
||||
@crud[:created_assert].each do |name|
|
||||
assert entity.send(name), "Expected false to be truthy for #{name}"
|
||||
end
|
||||
end
|
||||
|
||||
if @crud[:create_assert_not].present?
|
||||
@crud[:create_assert_not].each do |name|
|
||||
assert_not entity.send(name), "Expected true to be nil or false for #{name}"
|
||||
end
|
||||
end
|
||||
|
||||
return if @crud[:create_assert_equals].blank?
|
||||
|
||||
@crud[:create_assert_equals].each do |name, value|
|
||||
assert_equal value, entity.send(name)
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_without_permission
|
||||
return unless prepare_crud_test :create, no_permission: true
|
||||
|
||||
assert_no_difference("#{@crud[:entity].class.name}.count") do
|
||||
post :create, params: form_params(:create)
|
||||
end
|
||||
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
# Edit
|
||||
|
||||
def test_edit
|
||||
unless prepare_crud_test :edit
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
post :edit
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
get :edit, params: { id: @crud[:entity].id }
|
||||
|
||||
assert_response :success
|
||||
if @crud[:edit_assert_select].present?
|
||||
assert_select(*@crud[:edit_assert_select])
|
||||
else
|
||||
assert_select "form#edit_#{@crud[:form]}"
|
||||
end
|
||||
end
|
||||
|
||||
def test_edit_without_permission
|
||||
return unless prepare_crud_test :edit, no_permission: true
|
||||
|
||||
get :edit, params: { id: @crud[:entity].id }
|
||||
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
# Update
|
||||
|
||||
def test_update
|
||||
unless prepare_crud_test :update
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
put :update
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
put :update, params: form_params(:update)
|
||||
|
||||
if @crud[:update_redirect_to]
|
||||
assert_redirected_to @crud[:update_redirect_to]
|
||||
else
|
||||
assert_response 302
|
||||
end
|
||||
|
||||
@crud[:entity].reload
|
||||
|
||||
if @crud[:update_assert].present?
|
||||
@crud[:update_assert].each do |name|
|
||||
assert @crud[:entity].send(name), "Expected false to be truthy for #{name}"
|
||||
end
|
||||
end
|
||||
|
||||
if @crud[:update_assert_not].present?
|
||||
@crud[:update_assert_not].each do |name|
|
||||
assert_not @crud[:entity].send(name), "Expected true to be nil or false for #{name}"
|
||||
end
|
||||
end
|
||||
|
||||
return if @crud[:update_assert_equals].blank?
|
||||
|
||||
@crud[:update_assert_equals].each do |name, value|
|
||||
assert_equal value, @crud[:entity].send(name)
|
||||
end
|
||||
end
|
||||
|
||||
def test_update_without_permission
|
||||
return unless prepare_crud_test :update, no_permission: true
|
||||
|
||||
put :update, params: form_params(:update)
|
||||
|
||||
assert_response :forbidden
|
||||
|
||||
return if @crud[:update_equals].blank?
|
||||
|
||||
@crud[:entity].reload
|
||||
@crud[:update_equals].each do |name, value|
|
||||
assert_not_equal value, @crud[:entity].send(name)
|
||||
end
|
||||
end
|
||||
|
||||
# Delete
|
||||
|
||||
def test_delete
|
||||
unless prepare_crud_test :delete
|
||||
# no controller action should be available, test it
|
||||
assert_raises ActionController::UrlGenerationError do
|
||||
delete :destroy
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
assert_difference("#{@crud[:entity].class.name}.count", -1) do
|
||||
delete :destroy, params: { id: @crud[:entity].id }
|
||||
end
|
||||
|
||||
return if @crud[:delete_redirect_to].blank?
|
||||
|
||||
assert_redirected_to @crud[:delete_redirect_to]
|
||||
end
|
||||
|
||||
def test_delete_without_permission
|
||||
return unless prepare_crud_test :delete, no_permission: true
|
||||
|
||||
assert_no_difference("#{@crud[:entity].class.name}.count") do
|
||||
delete :destroy, params: { id: @crud[:entity].id }
|
||||
end
|
||||
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def form_params(action)
|
||||
crud_params = @crud["#{action}_params".to_sym]
|
||||
if @crud[:form]
|
||||
{ id: @crud[:entity].id, @crud[:form] => crud_params }
|
||||
else
|
||||
crud_params
|
||||
end
|
||||
end
|
||||
|
||||
def prepare_crud_test(action, no_permission: false)
|
||||
return false if @crud[:without_actions].present? && @crud[:without_actions].include?(action)
|
||||
|
||||
@request.session[:user_id] = if no_permission
|
||||
@user_without_permission.id
|
||||
else
|
||||
@user.id
|
||||
end
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
|
@ -13,6 +13,7 @@ system_default_welcome:
|
|||
- my_spent_time
|
||||
left:
|
||||
- text
|
||||
- text_async
|
||||
- legacy_left
|
||||
right:
|
||||
- text__1
|
||||
|
@ -23,6 +24,9 @@ system_default_welcome:
|
|||
text:
|
||||
:title: Welcome left
|
||||
:text: Some example text in left text block
|
||||
text_async:
|
||||
:title: Async loaded
|
||||
:text: Use it for better performance
|
||||
text__1:
|
||||
:title: Welcome right
|
||||
:text: Some example text in right text block
|
||||
|
|
|
@ -1,20 +1,22 @@
|
|||
require File.expand_path '../../test_helper', __FILE__
|
||||
|
||||
class DashboardAsyncBlocksControllerTest < Additionals::ControllerTest
|
||||
fixtures :projects,
|
||||
:users,
|
||||
fixtures :projects, :users, :email_addresses, :user_preferences,
|
||||
:roles,
|
||||
:members,
|
||||
:member_roles,
|
||||
:issues,
|
||||
:issue_relations,
|
||||
:issue_statuses,
|
||||
:versions,
|
||||
:trackers,
|
||||
:projects_trackers,
|
||||
:issue_categories,
|
||||
:enabled_modules,
|
||||
:journals, :journal_details,
|
||||
:dashboards, :dashboard_roles,
|
||||
:queries
|
||||
:repositories, :changesets,
|
||||
:queries, :watchers
|
||||
|
||||
include Redmine::I18n
|
||||
|
||||
|
|
|
@ -16,18 +16,30 @@ class DashboardsControllerTest < Additionals::ControllerTest
|
|||
:dashboards, :dashboard_roles,
|
||||
:queries
|
||||
|
||||
include CrudControllerBase
|
||||
|
||||
def setup
|
||||
prepare_tests
|
||||
@request.session[:user_id] = 2
|
||||
end
|
||||
|
||||
def test_create
|
||||
assert_difference 'Dashboard.count', 1 do
|
||||
post :create,
|
||||
params: { dashboard: { name: 'my test dashboard',
|
||||
dashboard_type: DashboardContentWelcome::TYPE_NAME,
|
||||
description: 'test desc',
|
||||
author_id: 2 } }
|
||||
end
|
||||
User.current = nil
|
||||
@user = users :users_002
|
||||
@user_without_permission = users :users_004
|
||||
|
||||
@crud = { form: :dashboard,
|
||||
show_assert_response: 406,
|
||||
index_assert_response: 406,
|
||||
create_params: { name: 'tester board',
|
||||
enable_sidebar: true,
|
||||
dashboard_type: DashboardContentWelcome::TYPE_NAME,
|
||||
author_id: @user.id },
|
||||
create_assert_equals: { name: 'tester board' },
|
||||
create_assert: %i[enable_sidebar],
|
||||
edit_assert_select: ['form#dashboard-form'],
|
||||
update_params: { name: 'changed',
|
||||
enable_sidebar: true },
|
||||
update_assert_equals: { name: 'changed' },
|
||||
update_assert: %i[enable_sidebar],
|
||||
entity: dashboards(:private_welcome2),
|
||||
delete_redirect_to: home_url }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -80,6 +80,7 @@ class IssuesControllerTest < Additionals::ControllerTest
|
|||
@request.session[:user_id] = 2
|
||||
get :show,
|
||||
params: { id: 2 }
|
||||
|
||||
assert_select 'a.assign-to-me'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -433,6 +433,27 @@ class WikiControllerTest < Additionals::ControllerTest
|
|||
text: '#2 Add ingredients categories'
|
||||
end
|
||||
|
||||
def test_show_user_with_current_user
|
||||
@request.session[:user_id] = WIKI_MACRO_USER_ID
|
||||
@page.content.text = '{{user(current_user)}}'
|
||||
@page.content.save!
|
||||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select '#content a.user.active[href=?]', '/users/2',
|
||||
text: 'John Smith'
|
||||
end
|
||||
|
||||
def test_show_user_with_current_user_as_text
|
||||
@request.session[:user_id] = WIKI_MACRO_USER_ID
|
||||
@page.content.text = '{{user(current_user, text=true)}}'
|
||||
@page.content.save!
|
||||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select '#content span.user.active', text: 'John Smith'
|
||||
end
|
||||
|
||||
def test_show_user_with_id
|
||||
@request.session[:user_id] = WIKI_MACRO_USER_ID
|
||||
@page.content.text = '{{user(1)}}'
|
||||
|
@ -440,7 +461,7 @@ class WikiControllerTest < Additionals::ControllerTest
|
|||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select 'a[href=?]', '/users/1',
|
||||
assert_select '#content a[href=?]', '/users/1',
|
||||
text: 'Redmine Admin'
|
||||
end
|
||||
|
||||
|
@ -451,8 +472,8 @@ class WikiControllerTest < Additionals::ControllerTest
|
|||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select 'a.user', text: 'Redmine Admin'
|
||||
assert_select 'a[href=?]', '/users/1',
|
||||
assert_select '#content a.user', text: 'Redmine Admin'
|
||||
assert_select '#content a[href=?]', '/users/1',
|
||||
text: 'Redmine Admin'
|
||||
end
|
||||
|
||||
|
@ -463,8 +484,8 @@ class WikiControllerTest < Additionals::ControllerTest
|
|||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select 'a[href=?]', '/users/2',
|
||||
text: 'jsmith'
|
||||
assert_select '#content a[href=?]', '/users/2',
|
||||
text: 'John Smith'
|
||||
end
|
||||
|
||||
def test_show_user_with_name_fullname
|
||||
|
@ -474,8 +495,8 @@ class WikiControllerTest < Additionals::ControllerTest
|
|||
get :show,
|
||||
params: { project_id: 1, id: @page_name }
|
||||
assert_response :success
|
||||
assert_select 'a.user', text: 'John Smith'
|
||||
assert_select 'a[href=?]', '/users/2',
|
||||
assert_select '#content a.user', text: 'John Smith'
|
||||
assert_select '#content a[href=?]', '/users/2',
|
||||
text: 'John Smith'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
module Additionals
|
||||
module GlobalTestHelper
|
||||
def assert_select_td_column(column_name)
|
||||
c = column_name.to_s
|
||||
.gsub('issue.cf', 'issue_cf')
|
||||
.gsub('project.cf', 'project_cf')
|
||||
.gsub('user.cf', 'user_cf')
|
||||
.tr('.', '-')
|
||||
|
||||
assert_select "td.#{c}"
|
||||
end
|
||||
|
||||
def with_additionals_settings(settings, &_block)
|
||||
change_additionals_settings(settings)
|
||||
yield
|
||||
|
|
|
@ -66,7 +66,7 @@ module ApiTest
|
|||
assert_equal 'API test', issue.subject
|
||||
|
||||
assert_response :created
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
assert_equal 'application/xml', @response.media_type
|
||||
assert_select 'issue > id', text: issue.id.to_s
|
||||
end
|
||||
end
|
||||
|
@ -96,7 +96,7 @@ module ApiTest
|
|||
assert_equal 'API test', issue.subject
|
||||
|
||||
assert_response :created
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
assert_equal 'application/xml', @response.media_type
|
||||
assert_select 'issue > id', text: issue.id.to_s
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,6 +16,7 @@ class RoutingTest < Redmine::RoutingTest
|
|||
def test_auto_completes
|
||||
should_route 'GET /auto_completes/fontawesome' => 'auto_completes#fontawesome'
|
||||
should_route 'GET /auto_completes/issue_assignee' => 'auto_completes#issue_assignee'
|
||||
should_route 'GET /auto_completes/global_users' => 'auto_completes#global_users'
|
||||
end
|
||||
|
||||
def test_dashboards
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
gem 'rubocop', require: false
|
||||
gem 'rubocop-performance', require: false
|
||||
gem 'rubocop-rails', require: false
|
|
@ -1,4 +0,0 @@
|
|||
# for travis debugging
|
||||
# config.logger = Logger.new $stdout
|
||||
# config.logger.level = Logger::INFO
|
||||
# config.log_level = :info
|
6
plugins/additionals/test/support/configuration.yml
Normal file
6
plugins/additionals/test/support/configuration.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
# = Redmine configuration file
|
||||
|
||||
# default configuration options for all environments
|
||||
default:
|
||||
sudo_mode: false
|
||||
sudo_mode_timeout: 1
|
|
@ -1,8 +0,0 @@
|
|||
test:
|
||||
adapter: mysql2
|
||||
database: travis_ci_test
|
||||
host: localhost
|
||||
username: root
|
||||
password:
|
||||
pool: 5
|
||||
encoding: utf8mb4
|
8
plugins/additionals/test/support/database-mysql.yml
Normal file
8
plugins/additionals/test/support/database-mysql.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
test:
|
||||
adapter: mysql2
|
||||
database: redmine
|
||||
port: <%= ENV["MYSQL_PORT"] %>
|
||||
host: 127.0.0.1
|
||||
username: root
|
||||
password: BestPasswordEver
|
||||
encoding: utf8mb4
|
23
plugins/additionals/test/support/database-postgres.yml
Normal file
23
plugins/additionals/test/support/database-postgres.yml
Normal file
|
@ -0,0 +1,23 @@
|
|||
production:
|
||||
adapter: postgresql
|
||||
host: localhost
|
||||
database: redmine
|
||||
username: postgres
|
||||
password: postgres
|
||||
encoding: utf8
|
||||
|
||||
development:
|
||||
adapter: postgresql
|
||||
host: localhost
|
||||
database: redmine
|
||||
username: postgres
|
||||
password: postgres
|
||||
encoding: utf8
|
||||
|
||||
test:
|
||||
adapter: postgresql
|
||||
host: localhost
|
||||
database: redmine
|
||||
username: postgres
|
||||
password: postgres
|
||||
encoding: utf8
|
|
@ -1,6 +0,0 @@
|
|||
test:
|
||||
adapter: postgresql
|
||||
database: travis_ci_test
|
||||
username: postgres
|
||||
pool: 5
|
||||
encoding: utf8
|
|
@ -10,6 +10,7 @@ end
|
|||
|
||||
require File.expand_path "#{File.dirname __FILE__}/../../../test/test_helper"
|
||||
require File.expand_path "#{File.dirname __FILE__}/global_test_helper"
|
||||
require File.expand_path "#{File.dirname __FILE__}/crud_controller_base"
|
||||
|
||||
module Additionals
|
||||
module TestHelper
|
||||
|
|
13
plugins/additionals/test/unit/additionals_info_test.rb
Normal file
13
plugins/additionals/test/unit/additionals_info_test.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
require File.expand_path '../../test_helper', __FILE__
|
||||
|
||||
class AdditionalsInfoTest < Additionals::TestCase
|
||||
def test_system_info
|
||||
text = AdditionalsInfo.system_info
|
||||
assert_not_equal '', text
|
||||
assert_not_equal 'unknown', text
|
||||
end
|
||||
|
||||
def test_windows_platform
|
||||
assert_not AdditionalsInfo.windows_platform?
|
||||
end
|
||||
end
|
|
@ -50,10 +50,9 @@ class AdditionalsTest < Additionals::TestCase
|
|||
end
|
||||
|
||||
def test_load_macros
|
||||
assert_equal ['fa'], Additionals.load_macros(['fa'])
|
||||
macros = Additionals.load_macros
|
||||
|
||||
assert_raises LoadError do
|
||||
Additionals.load_macros(%w[fa invalid])
|
||||
end
|
||||
assert macros.count.positive?
|
||||
assert(macros.detect { |macro| macro.include? 'fa_macro' })
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,7 +20,7 @@ class DashboardTest < Additionals::TestCase
|
|||
dashboard_type: DashboardContentWelcome::TYPE_NAME,
|
||||
author_id: 2
|
||||
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
end
|
||||
|
||||
def test_create_project_dashboard
|
||||
|
@ -29,7 +29,7 @@ class DashboardTest < Additionals::TestCase
|
|||
project: Project.find(1),
|
||||
author_id: 2
|
||||
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
end
|
||||
|
||||
def test_do_not_create_dashboard_for_role_without_roles
|
||||
|
@ -48,7 +48,7 @@ class DashboardTest < Additionals::TestCase
|
|||
visibility: Dashboard::VISIBILITY_ROLES,
|
||||
roles: Role.where(id: [1, 3]).to_a
|
||||
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
dashboard.reload
|
||||
|
||||
assert_equal [1, 3], dashboard.role_ids.sort
|
||||
|
@ -61,7 +61,7 @@ class DashboardTest < Additionals::TestCase
|
|||
author_id: 2,
|
||||
visibility: Dashboard::VISIBILITY_ROLES,
|
||||
roles: [used_role]
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
dashboard.reload
|
||||
|
||||
assert_equal [used_role.id], dashboard.role_ids
|
||||
|
@ -82,7 +82,7 @@ class DashboardTest < Additionals::TestCase
|
|||
system_default: true,
|
||||
author: User.current,
|
||||
visibility: 2
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
|
||||
assert dashboard.system_default
|
||||
assert_equal 2, dashboard.visibility
|
||||
|
@ -96,7 +96,7 @@ class DashboardTest < Additionals::TestCase
|
|||
visibility: 2
|
||||
assert dashboard.valid?
|
||||
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
|
||||
assert dashboard.system_default
|
||||
assert_equal 2, dashboard.visibility
|
||||
|
@ -206,7 +206,7 @@ class DashboardTest < Additionals::TestCase
|
|||
assert_equal 2, dashboard.roles.count
|
||||
|
||||
relation = DashboardRole.new(role_id: 3, dashboard_id: dashboard.id)
|
||||
assert relation.save
|
||||
assert_save relation
|
||||
|
||||
dashboard.reload
|
||||
assert_equal 3, dashboard.roles.count
|
||||
|
@ -217,7 +217,7 @@ class DashboardTest < Additionals::TestCase
|
|||
assert_equal 2, dashboard.roles.count
|
||||
|
||||
dashboard.roles << Role.generate!
|
||||
assert dashboard.save
|
||||
assert_save dashboard
|
||||
dashboard.reload
|
||||
assert_equal 3, dashboard.roles.count
|
||||
end
|
||||
|
@ -228,7 +228,7 @@ class DashboardTest < Additionals::TestCase
|
|||
# change system default
|
||||
dashboard2 = dashboards :public_welcome
|
||||
dashboard2.system_default = true
|
||||
assert dashboard2.save
|
||||
assert_save dashboard2
|
||||
|
||||
dashboard = dashboards :welcome_for_roles
|
||||
dashboard.reload
|
||||
|
@ -276,6 +276,6 @@ class DashboardTest < Additionals::TestCase
|
|||
dashboard = dashboards :private_project_default
|
||||
|
||||
dashboard.project_id = 1
|
||||
dashboard.save!
|
||||
assert_save dashboard
|
||||
end
|
||||
end
|
||||
|
|
|
@ -26,17 +26,6 @@ class GlobalHelperTest < ActionView::TestCase
|
|||
User.current = nil
|
||||
end
|
||||
|
||||
def test_system_info
|
||||
text = system_info
|
||||
|
||||
assert_not_equal '', text
|
||||
assert_not_equal 'unknown', text
|
||||
end
|
||||
|
||||
def test_windows_platform
|
||||
assert_nil windows_platform?
|
||||
end
|
||||
|
||||
def test_user_with_avatar
|
||||
html = user_with_avatar(users(:users_001))
|
||||
|
||||
|
@ -65,7 +54,7 @@ class GlobalHelperTest < ActionView::TestCase
|
|||
assert_equal({ issue_id: nil, comment_id: nil },
|
||||
parse_issue_url('', nil))
|
||||
assert_equal({ issue_id: nil, comment_id: nil },
|
||||
parse_issue_url('http://localhost/issues/23', nil))
|
||||
parse_issue_url('http://localhost/issue/23', nil))
|
||||
assert_equal({ issue_id: '23', comment_id: nil },
|
||||
parse_issue_url('http://redmine.local/issues/23', nil))
|
||||
assert_equal({ issue_id: '23', comment_id: 2 },
|
||||
|
|
|
@ -23,7 +23,7 @@ class IssueTest < Additionals::TestCase
|
|||
|
||||
def test_create
|
||||
issue = Issue.new(project_id: 1, tracker_id: 1, author_id: 3, subject: 'test_create')
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
assert_equal issue.tracker.default_status, issue.status
|
||||
assert_nil issue.description
|
||||
end
|
||||
|
@ -33,7 +33,7 @@ class IssueTest < Additionals::TestCase
|
|||
User.current = users :users_003
|
||||
issue = issues :issues_007
|
||||
issue.subject = 'Should be be saved'
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -48,7 +48,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue = issues :issues_008
|
||||
|
||||
issue.subject = 'Should be saved'
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
|
||||
issue.reload
|
||||
assert_equal 'Should be saved', issue.subject
|
||||
|
@ -79,11 +79,11 @@ class IssueTest < Additionals::TestCase
|
|||
|
||||
issue = Issue.generate subject: 'new issue for closing test',
|
||||
status_id: 1
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
|
||||
issue = Issue.generate subject: 'new issue for closing test and closed state',
|
||||
status_id: 5
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -93,7 +93,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue = issues :issues_008
|
||||
|
||||
issue.subject = 'Should be saved'
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
|
||||
issue.reload
|
||||
assert_equal 'Should be saved', issue.subject
|
||||
|
@ -104,7 +104,7 @@ class IssueTest < Additionals::TestCase
|
|||
with_additionals_settings issue_freezed_with_close: 1 do
|
||||
User.current = users :users_003
|
||||
issue = issues :issues_008
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
|
||||
# but changed issues should throw error
|
||||
issue.subject = 'changed'
|
||||
|
@ -117,7 +117,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue_auto_assign_status: ['1'],
|
||||
issue_auto_assign_role: '1' do
|
||||
issue = Issue.new(project_id: 1, tracker_id: 1, author_id: 3, subject: 'test_create')
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
assert_equal 2, issue.assigned_to_id
|
||||
end
|
||||
end
|
||||
|
@ -127,7 +127,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue_auto_assign_status: ['1'],
|
||||
issue_auto_assign_role: '1' do
|
||||
issue = Issue.new(project_id: 1, tracker_id: 1, author_id: 3, subject: 'test_create')
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
assert_nil issue.assigned_to_id
|
||||
end
|
||||
|
||||
|
@ -135,7 +135,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue_auto_assign_status: [],
|
||||
issue_auto_assign_role: '1' do
|
||||
issue = Issue.new(project_id: 1, tracker_id: 1, author_id: 3, subject: 'test_create')
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
assert_nil issue.assigned_to_id
|
||||
end
|
||||
|
||||
|
@ -143,7 +143,7 @@ class IssueTest < Additionals::TestCase
|
|||
issue_auto_assign_status: ['1'],
|
||||
issue_auto_assign_role: '' do
|
||||
issue = Issue.new(project_id: 1, tracker_id: 1, author_id: 3, subject: 'test_create')
|
||||
assert issue.save
|
||||
assert_save issue
|
||||
assert_nil issue.assigned_to_id
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,13 +12,13 @@ class RoleTest < Additionals::TestCase
|
|||
|
||||
def test_with_permission
|
||||
role = Role.new(name: 'role without hide')
|
||||
assert role.save
|
||||
assert_save role
|
||||
|
||||
role.reload
|
||||
assert_not role.hide
|
||||
|
||||
role = Role.new(name: 'role with hide', hide: true)
|
||||
assert role.save
|
||||
assert_save role
|
||||
|
||||
role.reload
|
||||
assert role.hide
|
||||
|
@ -27,7 +27,7 @@ class RoleTest < Additionals::TestCase
|
|||
def test_edit
|
||||
role = roles(:roles_001)
|
||||
role.hide = true
|
||||
assert role.save
|
||||
assert_save role
|
||||
|
||||
role.reload
|
||||
assert role.hide
|
||||
|
|
|
@ -22,14 +22,14 @@ class TimeEntryTest < Additionals::TestCase
|
|||
def test_create_time_entry_without_issue
|
||||
entry = TimeEntry.generate(project: projects(:projects_001))
|
||||
assert entry.valid?
|
||||
assert entry.save
|
||||
assert_save entry
|
||||
end
|
||||
|
||||
def test_create_time_entry_with_open_issue
|
||||
entry = TimeEntry.generate(issue: issues(:issues_002))
|
||||
assert_not entry.issue.closed?
|
||||
assert entry.valid?
|
||||
assert entry.save
|
||||
assert_save entry
|
||||
end
|
||||
|
||||
def test_create_time_entry_with_closed_issue_without_permission
|
||||
|
@ -51,6 +51,6 @@ class TimeEntryTest < Additionals::TestCase
|
|||
entry = TimeEntry.generate(issue: issues(:issues_008))
|
||||
assert entry.issue.closed?
|
||||
assert entry.valid?
|
||||
assert entry.save
|
||||
assert_save entry
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue