diff options
Diffstat (limited to 'test/unit/member_test.rb')
-rw-r--r-- | test/unit/member_test.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/unit/member_test.rb b/test/unit/member_test.rb index ce9898f4b..344aec7b9 100644 --- a/test/unit/member_test.rb +++ b/test/unit/member_test.rb @@ -196,4 +196,15 @@ class MemberTest < ActiveSupport::TestCase member.roles << Role.generate!(:all_roles_managed => true) assert_equal [], member.managed_roles end + + def test_create_principal_memberships_should_not_error_with_2_projects_and_inheritance + parent = Project.generate! + child = Project.generate!(:parent_id => parent.id, :inherit_members => true) + user = User.generate! + + assert_difference 'Member.count', 2 do + members = Member.create_principal_memberships(user, :project_ids => [parent.id, child.id], :role_ids => [1]) + assert members.none?(&:new_record?), "Unsaved members were returned: #{members.select(&:new_record?).map{|m| m.errors.full_messages}*","}" + end + end end |