role = arg.is_a?(Role) ? arg : Role.find_by_id(arg.to_s)
self.attributes = role.attributes.dup.except("id", "name", "position", "builtin", "permissions")
self.permissions = role.permissions.dup
+ self.managed_role_ids = role.managed_role_ids.dup
self
end
assert_response 302
end
assert_equal false, role.all_roles_managed
- assert_equal [2, 3], role.managed_role_ids
+ assert_equal [2, 3], role.managed_role_ids.sort
end
def test_edit
assert copy.save
end
+ def test_copy_from_should_copy_managed_roles
+ orig = Role.generate!(:all_roles_managed => false, :managed_role_ids => [2, 3])
+ role = Role.new
+ role.copy_from orig
+ assert_equal [2, 3], role.managed_role_ids.sort
+ end
+
def test_copy_workflows
source = Role.find(1)
rule_count = source.workflow_rules.count