Commit cf006cc397267e75365bf45c1e6f2a6eceaa0b37

Authored by AntonioTerceiro
1 parent 267d8d18

ActionItem36: putting friends in the right groups


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1498 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/add_friend.rb
... ... @@ -11,8 +11,8 @@ class AddFriend < Task
11 11 alias :friend= :target=
12 12  
13 13 def perform
14   - Friendship.create!(:person => requestor, :friend => target)
15   - Friendship.create!(:person => target, :friend => requestor)
  14 + Friendship.create!(:person => requestor, :friend => target, :group => group_for_person)
  15 + Friendship.create!(:person => target, :friend => requestor, :group => group_for_friend)
16 16 end
17 17  
18 18 # Returns <tt>false</tt>. Adding friends by itself does not trigger e-mail
... ...
test/unit/add_friend_test.rb
... ... @@ -20,6 +20,20 @@ class AddFriendTest &lt; ActiveSupport::TestCase
20 20 ok('p2 should have p1 as friend') { p2.friends.include?(p1) }
21 21 end
22 22  
  23 + should 'put friendships in the right groups' do
  24 + p1 = create_user('testuser1').person
  25 + p2 = create_user('testuser2').person
  26 +
  27 + task = AddFriend.create!(:person => p1, :group_for_person => 'friend1', :friend => p2, :group_for_friend => 'friend2')
  28 +
  29 + assert_difference Friendship, :count, 2 do
  30 + task.finish
  31 + end
  32 +
  33 + ok('p1 should list p2 as friend1') { p1.friendships.first.group == 'friend1' }
  34 + ok('p2 should have p1 as friend2') { p2.friendships.first.group == 'friend2' }
  35 + end
  36 +
23 37 should 'require requestor (person adding other as friend)' do
24 38 task = AddFriend.new
25 39 task.valid?
... ...