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
|
self.save
|
||||||
|
|
||||||
post
|
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 )
|
def retract( post )
|
||||||
retraction = Retraction.for(post)
|
retraction = Retraction.for(post)
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,39 @@ describe User do
|
||||||
Post.count.should be 1
|
Post.count.should be 1
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue