include post author in participats

This commit is contained in:
Maxwell Salzberg 2011-11-04 18:19:37 -07:00
parent 95c206df24
commit c3dc3d103b
2 changed files with 8 additions and 2 deletions

View file

@ -111,7 +111,7 @@ module Diaspora
def participants def participants
@participants ||= lambda do @participants ||= lambda do
share_type = self.class.base_class.to_s share_type = self.class.base_class.to_s
people = [] people = [self.author]
if self.respond_to? :comments if self.respond_to? :comments
people += Person.joins(:comments).where(:comments => {:commentable_id => self.id, :commentable_type => share_type}).all people += Person.joins(:comments).where(:comments => {:commentable_id => self.id, :commentable_type => share_type}).all
end end

View file

@ -196,13 +196,19 @@ describe Post do
end end
describe '#participants' do describe '#participants' do
it 'includes the post author' do
status = Factory(:status_message, :author => bob.person, :public => true)
status.participants.map(&:id).should == [bob.person.id]
end
it 'only returns the people that commented and liked the post' do it 'only returns the people that commented and liked the post' do
status = Factory(:status_message, :author => bob.person, :public => true) status = Factory(:status_message, :author => bob.person, :public => true)
alice.comment('too', :post => status) alice.comment('too', :post => status)
eve.like(true, :target => status) eve.like(true, :target => status)
status.participants.map(&:id).should =~ [alice, eve].map{|x| x.person.id} status.participants.map(&:id).should =~ [alice, eve, bob].map{|x| x.person.id}
end end
end end
describe '#comments' do describe '#comments' do