From bff0977bcfaf2b312b3659e6870b4cc06797347b Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Thu, 28 Feb 2008 23:54:37 +0000 Subject: [PATCH] ActionItem38: removing friends in model --- app/models/person.rb | 4 ++++ test/unit/person_test.rb | 11 +++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/app/models/person.rb b/app/models/person.rb index c5f73c6..43fd165 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -17,6 +17,10 @@ class Person < Profile self.friendships.build(:friend => friend, :group => group).save! end + def remove_friend(friend) + friends.delete(friend) + end + # has_many :person_friendships # has_many :people, :through => :person_friendships, :foreign_key => 'friend_id' diff --git a/test/unit/person_test.rb b/test/unit/person_test.rb index 051d18c..4884303 100644 --- a/test/unit/person_test.rb +++ b/test/unit/person_test.rb @@ -191,4 +191,15 @@ class PersonTest < Test::Unit::TestCase assert_equal p1.suggested_friend_groups, p1.suggested_friend_groups.uniq end + should 'remove friend' do + p1 = create_user('testuser1').person + p2 = create_user('testuser2').person + p1.add_friend(p2, 'friends') + + assert_difference Friendship, :count, -1 do + p1.remove_friend(p2) + end + assert_not_includes p1.friends(true), p2 + end + end -- libgit2 0.21.2