DG IZ; posts_for :group method in User
This commit is contained in:
parent
4f8b8ad3c5
commit
2af41a0ea9
2 changed files with 43 additions and 1 deletions
|
|
@ -51,7 +51,16 @@ class User
|
|||
self.save
|
||||
|
||||
post
|
||||
end ######### Posts and Such ###############
|
||||
end
|
||||
|
||||
def posts_for( opts = {} )
|
||||
if opts[:group]
|
||||
group = self.groups.find_by_id( opts[:group].id )
|
||||
self.posts.find_all_by_person_id( group.person_ids )
|
||||
end
|
||||
end
|
||||
|
||||
######### Posts and Such ###############
|
||||
|
||||
def retract( post )
|
||||
retraction = Retraction.for(post)
|
||||
|
|
|
|||
|
|
@ -371,6 +371,39 @@ describe User do
|
|||
Post.count.should be 1
|
||||
end
|
||||
|
||||
describe 'group streams' do
|
||||
before do
|
||||
@group = @user.group(:name => 'heroes')
|
||||
@group2 = @user.group(:name => 'stuff')
|
||||
|
||||
@user2 = Factory.create :user
|
||||
@user.activate_friend(@user2.person, @group)
|
||||
|
||||
@user3 = Factory.create :user
|
||||
@user.activate_friend(@user3.person, @group2)
|
||||
|
||||
@user4 = Factory.create :user
|
||||
@user.activate_friend(@user4.person, @group2)
|
||||
end
|
||||
|
||||
it 'should generate a valid stream for a group of people' do
|
||||
status_message1 = @user2.post :status_message, :message => "hi"
|
||||
status_message2 = @user3.post :status_message, :message => "heyyyy"
|
||||
status_message3 = @user4.post :status_message, :message => "yooo"
|
||||
|
||||
@user.receive status_message1.to_diaspora_xml
|
||||
@user.receive status_message2.to_diaspora_xml
|
||||
@user.receive status_message3.to_diaspora_xml
|
||||
@user.reload
|
||||
|
||||
@user.posts_for(:group => @group).include?(status_message1).should be true
|
||||
@user.posts_for(:group => @group).include?(status_message2).should be false
|
||||
@user.posts_for(:group => @group).include?(status_message3).should be false
|
||||
|
||||
@user.posts_for(:group => @group2).include?(status_message1).should be false
|
||||
@user.posts_for(:group => @group2).include?(status_message2).should be true
|
||||
@user.posts_for(:group => @group2).include?(status_message3).should be true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue