Fix distinct problem

This commit is contained in:
Raphael Sofaer 2011-04-06 12:29:05 -07:00
parent bbf1bf00cb
commit 3fb822c6c5
2 changed files with 4 additions and 1 deletions

View file

@ -20,7 +20,7 @@ module Diaspora
opts[:hidden] ||= false
order_with_table = 'posts.' + opts[:order]
opts[:offset] = opts[:page].nil? || opts[:page] == 1 ? 0 : opts[:limit] * (opts[:page] - 1)
select_clause ='posts.id, posts.updated_at AS updated_at, posts.created_at AS created_at'
select_clause ='DISTINCT posts.id, posts.updated_at AS updated_at, posts.created_at AS created_at'
posts_from_others = Post.joins(:contacts).where( :post_visibilities => {:hidden => opts[:hidden]}, :contacts => {:user_id => self.id})
posts_from_self = self.person.posts

View file

@ -37,14 +37,17 @@ describe User do
end
end
it 'works' do #This is in one spec to save time
bob.raw_visible_posts.length.should == 15
bob.raw_visible_posts.should == bob.raw_visible_posts(:by_members_of => bob.aspects.map{|a| a.id})
bob.raw_visible_posts.sort_by{|p| p.updated_at}.map{|p| p.id}.should == bob.raw_visible_posts.map{|p| p.id}.reverse
opts = {:limit => 40}
bob.raw_visible_posts(opts).length.should == 40
bob.raw_visible_posts(opts).should == bob.raw_visible_posts(opts.merge(:by_members_of => bob.aspects.map{|a| a.id}))
bob.raw_visible_posts(opts).sort_by{|p| p.updated_at}.map{|p| p.id}.should == bob.raw_visible_posts(opts).map{|p| p.id}.reverse
opts = {:page => 2}
bob.raw_visible_posts(opts).length.should == 15
bob.raw_visible_posts(opts).map{|p| p.id}.should == bob.raw_visible_posts(opts.merge(:by_members_of => bob.aspects.map{|a| a.id})).map{|p| p.id}
bob.raw_visible_posts(opts).sort_by{|p| p.updated_at}.map{|p| p.id}.should == bob.raw_visible_posts(opts).map{|p| p.id}.reverse
end