84 lines
2.4 KiB
Ruby
84 lines
2.4 KiB
Ruby
require File.expand_path '../../test_helper', __FILE__
|
|
|
|
class ProjectTest < Additionals::TestCase
|
|
fixtures :projects, :trackers, :issue_statuses, :issues,
|
|
:journals, :journal_details,
|
|
:enumerations, :users, :issue_categories,
|
|
:projects_trackers,
|
|
:custom_fields,
|
|
:custom_fields_projects,
|
|
:custom_fields_trackers,
|
|
:custom_values,
|
|
:roles,
|
|
:member_roles,
|
|
:members,
|
|
:enabled_modules,
|
|
:groups_users,
|
|
:repositories,
|
|
:workflows,
|
|
:attachments
|
|
|
|
def setup
|
|
User.current = nil
|
|
end
|
|
|
|
def test_assignable_users_amount
|
|
with_settings issue_group_assignment: '1' do
|
|
project = Project.find(5)
|
|
assert_equal project.assignable_users.count, project.assignable_users_and_groups.count
|
|
end
|
|
with_settings issue_group_assignment: '0' do
|
|
project = Project.find(5)
|
|
assert_not_equal project.assignable_users.count, project.assignable_users_and_groups.count
|
|
end
|
|
end
|
|
|
|
def test_visible_users
|
|
project = projects :projects_005
|
|
assert_equal 3, project.visible_users.count
|
|
end
|
|
|
|
def test_visible_principals
|
|
project = projects :projects_005
|
|
assert_equal 4, project.visible_principals.count
|
|
end
|
|
|
|
def test_destroy_project
|
|
User.current = users :users_001
|
|
|
|
@ecookbook = projects :projects_001
|
|
# dashboards
|
|
assert @ecookbook.dashboards.any?
|
|
|
|
@ecookbook.destroy
|
|
# make sure that the project non longer exists
|
|
assert_raise(ActiveRecord::RecordNotFound) { Project.find(@ecookbook.id) }
|
|
# make sure related data was removed
|
|
assert_nil Dashboard.where(project_id: @ecookbook.id).first
|
|
end
|
|
|
|
def test_users_by_role
|
|
users_by_role = Project.find(1).users_by_role
|
|
assert_kind_of Hash, users_by_role
|
|
role = Role.find(1)
|
|
assert_kind_of Array, users_by_role[role]
|
|
assert users_by_role[role].include?(User.find(2))
|
|
end
|
|
|
|
def test_users_by_role_with_hidden_role
|
|
Role.update_all users_visibility: 'members_of_visible_projects'
|
|
|
|
role = Role.find 2
|
|
role.hide = 1
|
|
role.save!
|
|
|
|
assert_equal 0, Role.where.not(users_visibility: 'members_of_visible_projects').count
|
|
assert role.hide
|
|
|
|
# User.current = User.find 2
|
|
assert_equal 1, Project.find(1).users_by_role.count
|
|
|
|
User.current = User.find 1
|
|
assert_equal 2, Project.find(1).users_by_role.count
|
|
end
|
|
end
|