From 18ea46710b8adc8c62dc8a96ea8bed05afe06c5b Mon Sep 17 00:00:00 2001 From: zhitomirskiyi <ilya@joindiaspora.com> Date: Tue, 29 Mar 2011 17:23:28 -0700 Subject: [PATCH] not delivering to local for profiles --- lib/postzord/dispatch.rb | 2 +- spec/lib/postzord/dispatch_spec.rb | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/postzord/dispatch.rb b/lib/postzord/dispatch.rb index 275c377866..1204e0e65a 100644 --- a/lib/postzord/dispatch.rb +++ b/lib/postzord/dispatch.rb @@ -44,7 +44,7 @@ class Postzord::Dispatch end def deliver_to_local(people) - return if people.blank? + return if people.blank? || @object.is_a?(Profile) if @object.is_a?(Post) batch_deliver_to_local(people) else diff --git a/spec/lib/postzord/dispatch_spec.rb b/spec/lib/postzord/dispatch_spec.rb index 166db72c53..7d6e1f7120 100644 --- a/spec/lib/postzord/dispatch_spec.rb +++ b/spec/lib/postzord/dispatch_spec.rb @@ -234,12 +234,26 @@ describe Postzord::Dispatch do end describe '#deliver_to_local' do + before do + @mailman = Postzord::Dispatch.new(@user, @sm) + end + it 'queues a batch receive' do local_people = [] local_people << @user.person - mailman = Postzord::Dispatch.new(@user, @sm) Resque.should_receive(:enqueue).with(Job::ReceiveLocalBatch, @sm.id, [@user.id]).once - mailman.send(:deliver_to_local, local_people) + @mailman.send(:deliver_to_local, local_people) + end + + it 'returns if people are empty' do + Resque.should_not_receive(:enqueue) + @mailman.send(:deliver_to_local, []) + end + + it 'returns if the object is a profile' do + @mailman.instance_variable_set(:@object, Profile.new) + Resque.should_not_receive(:enqueue) + @mailman.send(:deliver_to_local, [1]) end end -- GitLab