Commit cf006cc397267e75365bf45c1e6f2a6eceaa0b37
1 parent
267d8d18
Exists in
master
and in
29 other branches
ActionItem36: putting friends in the right groups
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1498 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
16 additions
and
2 deletions
Show diff stats
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 < 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? | ... | ... |