From 6d5e63f5a647bf67b126eed49303470684d71771 Mon Sep 17 00:00:00 2001 From: Larissa Reis Date: Fri, 3 Jan 2014 21:33:23 -0300 Subject: [PATCH] Sends invitation to join community when user is already a friend --- app/models/invitation.rb | 2 +- test/unit/invitation_test.rb | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/models/invitation.rb b/app/models/invitation.rb index 25ed11b..0f89515 100644 --- a/app/models/invitation.rb +++ b/app/models/invitation.rb @@ -64,7 +64,7 @@ class Invitation < Task task_args = if user.nil? {:person => person, :friend_name => friend_name, :friend_email => friend_email, :message => message} - elsif !user.person.is_a_friend?(person) + elsif !(user.person.is_a_friend?(person) && profile.person?) {:person => person, :target => user.person} end diff --git a/test/unit/invitation_test.rb b/test/unit/invitation_test.rb index 1a8d224..27aee60 100644 --- a/test/unit/invitation_test.rb +++ b/test/unit/invitation_test.rb @@ -72,6 +72,29 @@ class InvitationTest < ActiveSupport::TestCase end end + should 'do nothing if the invited friend is already your friend' do + person = create_user('person').person + invited_friend = create_user('invited_friend').person + + invited_friend.add_friend(person) + + assert_no_difference InviteFriend, :count do + Invitation.invite( person, [invited_friend.user.email], "", person ) + end + end + + should 'and yet be able to invite friends to community' do + person = create_user('person').person + invited_friend = create_user('invited_friend').person + + invited_friend.add_friend(person) + community = fast_create(Community) + + assert_difference InviteMember, :count do + Invitation.invite( person, [invited_friend.user.email], "", community ) + end + end + should 'add url on message if user removed it' do person = create_user('testuser1').person friend = create_user('testuser2').person -- libgit2 0.21.2