Performance: avoid querying all memberships in User#roles_for_project (#13301).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11508 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2013-03-01 10:24:23 +00:00
parent 69657be534
commit 6803d95a32
2 changed files with 39 additions and 1 deletions
+26
View File
@@ -762,6 +762,32 @@ class UserTest < ActiveSupport::TestCase
assert_equal true, User.default_admin_account_changed?
end
def test_membership_with_project_should_return_membership
project = Project.find(1)
membership = @jsmith.membership(project)
assert_kind_of Member, membership
assert_equal @jsmith, membership.user
assert_equal project, membership.project
end
def test_membership_with_project_id_should_return_membership
project = Project.find(1)
membership = @jsmith.membership(1)
assert_kind_of Member, membership
assert_equal @jsmith, membership.user
assert_equal project, membership.project
end
def test_membership_for_non_member_should_return_nil
project = Project.find(1)
user = User.generate!
membership = user.membership(1)
assert_nil membership
end
def test_roles_for_project
# user with a role
roles = @jsmith.roles_for_project(Project.find(1))