Commit 802fc44cfa10cf46bc02a7304a77013ac9add25e
1 parent
4226f0e2
Exists in
master
and in
29 other branches
ActionItem298: not adding a friend twice
Showing
2 changed files
with
11 additions
and
1 deletions
Show diff stats
app/models/person.rb
... | ... | @@ -30,7 +30,9 @@ class Person < Profile |
30 | 30 | end |
31 | 31 | |
32 | 32 | def add_friend(friend, group = nil) |
33 | - self.friendships.build(:friend => friend, :group => group).save! | |
33 | + unless self.is_a_friend?(friend) | |
34 | + self.friendships.build(:friend => friend, :group => group).save! | |
35 | + end | |
34 | 36 | end |
35 | 37 | |
36 | 38 | def already_request_friendship?(person) | ... | ... |
test/unit/person_test.rb
... | ... | @@ -555,4 +555,12 @@ class PersonTest < Test::Unit::TestCase |
555 | 555 | assert_equal 'http://website.with.http', p.organization_website |
556 | 556 | end |
557 | 557 | |
558 | + should 'not add a friend if already is a friend' do | |
559 | + p1 = create_user('testuser1').person | |
560 | + p2 = create_user('testuser2').person | |
561 | + assert p1.add_friend(p2) | |
562 | + assert Profile['testuser1'].is_a_friend?(p2) | |
563 | + assert !Profile['testuser1'].add_friend(p2) | |
564 | + end | |
565 | + | |
558 | 566 | end | ... | ... |