diff --git a/app/models/person.rb b/app/models/person.rb index ae51d4d..f1c7304 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -2,8 +2,9 @@ class Person < Profile acts_as_accessor -# has_many :friendships -# has_many :friends, :class_name => 'Person', :through => :friendships + has_many :friendships + has_many :friends, :class_name => 'Person', :through => :friendships + # 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 301da83..ae0c8ba 100644 --- a/test/unit/person_test.rb +++ b/test/unit/person_test.rb @@ -143,4 +143,19 @@ class PersonTest < Test::Unit::TestCase assert_equal 6, p.blocks.size end + should 'have friends' do + p1 = create_user('testuser1').person + p2 = create_user('testuser2').person + + Friendship.create!(:person => p1, :friend => p2) + + assert_equal [p2], p1.friends + + p3 = create_user('testuser3').person + Friendship.create!(:person => p1, :friend => p3) + + assert_equal [p2,p3], p1.friends(true) # force reload + + end + end -- libgit2 0.21.2