diff --git a/test/functional/memberships_controller_test.rb b/test/functional/memberships_controller_test.rb index 310b1ca..8c332b7 100644 --- a/test/functional/memberships_controller_test.rb +++ b/test/functional/memberships_controller_test.rb @@ -122,6 +122,7 @@ class MembershipsControllerTest < Test::Unit::TestCase should 'present confirmation before leaving a profile' do community = Community.create!(:name => 'my test community') + community.add_member(profile) get :leave, :profile => profile.identifier, :id => community.id assert_response :success @@ -130,13 +131,15 @@ class MembershipsControllerTest < Test::Unit::TestCase should 'actually leave profile' do community = Community.create!(:name => 'my test community') + community.add_member(profile) + assert_includes profile.memberships, community post :leave, :profile => profile.identifier, :id => community.id, :confirmation => '1' assert_response :redirect assert_redirected_to :action => 'index' profile.reload - assert !profile.memberships.include?(community) + assert_not_includes profile.memberships, community end end diff --git a/test/unit/profile_test.rb b/test/unit/profile_test.rb index 9453b27..abc14ce 100644 --- a/test/unit/profile_test.rb +++ b/test/unit/profile_test.rb @@ -461,8 +461,10 @@ class ProfileTest < Test::Unit::TestCase p = create_user('myothertestuser').person c.add_member(p) + assert_includes c.members, p c.remove_member(p) - assert !c.members.include?(p) + c.reload + assert_not_includes c.members, p end private diff --git a/vendor/plugins/access_control/lib/acts_as_accessible.rb b/vendor/plugins/access_control/lib/acts_as_accessible.rb index ce16497..9cba588 100644 --- a/vendor/plugins/access_control/lib/acts_as_accessible.rb +++ b/vendor/plugins/access_control/lib/acts_as_accessible.rb @@ -21,7 +21,7 @@ class ActiveRecord::Base def disaffiliate(accessor, roles) roles = [roles] unless roles.kind_of?(Array) - roles.map {|role| accessor.remove_role(role, self)}.any? + role_assignments.map{|ra|ra.destroy if roles.include?(ra.role) && ra.accessor == accessor} end def members -- libgit2 0.21.2