From 6be63b88f0c04c9e1c1092b7450e25d8df67960e Mon Sep 17 00:00:00 2001 From: zhitomirskiyi <ilya@joindiaspora.com> Date: Tue, 8 Feb 2011 18:49:33 -0800 Subject: [PATCH] added the pending request to the finder --- app/views/services/_remote_friend.html.haml | 9 +++++++- spec/models/services/facebook_spec.rb | 25 ++++++++++++++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/app/views/services/_remote_friend.html.haml b/app/views/services/_remote_friend.html.haml index 183cd6886a..02705ce836 100644 --- a/app/views/services/_remote_friend.html.haml +++ b/app/views/services/_remote_friend.html.haml @@ -2,8 +2,15 @@ .right -if friend[:contact] && !friend[:contact].pending = t('people.person.already_connected') - - elsif (friend[:contact] && friend[:contact].pending) + - elsif (friend[:contact] && friend[:contact].pending) || (friend[:request] && friend[:request].sender != friend[:person]) = t('people.person.pending_request') + - elsif (friend[:request] && friend[:request].sender == friend[:person]) + = link_to t('people.show.incoming_request', :name => truncate(person.name, :length => 20, :separator => ' ', :omission => '')), + {:controller => "people", + :action => "show", + :id => friend[:person].id, + :share_with => true}, + :class => 'button' - elsif friend[:invitation_id] = t('invitations.new.already_invited') %br diff --git a/spec/models/services/facebook_spec.rb b/spec/models/services/facebook_spec.rb index 84cd5ad105..39a67a4eac 100644 --- a/spec/models/services/facebook_spec.rb +++ b/spec/models/services/facebook_spec.rb @@ -86,13 +86,26 @@ JSON @service.finder["#{@user2_fb_id}"][:person].should be_nil end - it 'contains a request object if one has been sent' do - request = Request.diaspora_initialize(:from => @user2.person, :to => @user.person, :into => @user2.aspects.first) - Postzord::Receiver.new(@user, :object => request, :person => @user2.person).receive_object - Request.count.should == 1 - @service.finder["#{@user2_fb_id}"][:request].should == request + context "request" do + before do + @request = Request.diaspora_initialize(:from => @user2.person, :to => @user.person, :into => @user2.aspects.first) + Postzord::Receiver.new(@user, :object => @request, :person => @user2.person).receive_object + Request.count.should == 1 + end + it 'contains a request object if one has been sent' do + @service.finder["#{@user2_fb_id}"][:request].should == @request + end + + it 'caches the profile' do + @service.finder["#{@user2_fb_id}"][:request].sender.profile.loaded?.should be_true + end + + it 'caches the sender' do + @service.finder["#{@user2_fb_id}"][:request].sender.loaded?.should be_true + end + end - + it 'contains a contact object if connected' do connect_users(@user, @user.aspects.first, @user2, @user2.aspects.first) @service.finder["#{@user2_fb_id}"][:contact].should == @user.reload.contact_for(@user2.person) -- GitLab