From 5adefb332a9e93e2973d372a74172ad6016b294a Mon Sep 17 00:00:00 2001 From: Moises Machado Date: Mon, 10 Aug 2009 18:59:32 -0300 Subject: [PATCH] ActionItem1194: add_member task now handles "0" id roles --- app/models/add_member.rb | 2 +- test/unit/add_member_test.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/models/add_member.rb b/app/models/add_member.rb index 4bb7635..518817e 100644 --- a/app/models/add_member.rb +++ b/app/models/add_member.rb @@ -12,7 +12,7 @@ class AddMember < Task def perform self.roles ||= [Profile::Roles.member(organization.environment.id).id] - target.affiliate(requestor, self.roles.map{|i| Role.find(i)}) + target.affiliate(requestor, self.roles.select{|r| !r.to_i.zero? }.map{|i| Role.find(i)}) end def description diff --git a/test/unit/add_member_test.rb b/test/unit/add_member_test.rb index c676345..6e5f482 100644 --- a/test/unit/add_member_test.rb +++ b/test/unit/add_member_test.rb @@ -95,4 +95,17 @@ class AddMemberTest < ActiveSupport::TestCase end end + should 'ignore roles with id zero' do + p = create_user('testuser1').person + c = Community.create!(:name => 'community_test') + + role = Profile::Roles.member(c.environment.id) + TaskMailer.stubs(:deliver_target_notification) + task = AddMember.create!(:roles => ["0", role.id, nil], :person => p, :organization => c) + task.finish + + current_roles = p.find_roles(c).map(&:role) + assert_includes current_roles, role + end + end -- libgit2 0.21.2