DG IZ; retractions remove post references in group objects
This commit is contained in:
parent
a7a9a98737
commit
08739ad23d
2 changed files with 28 additions and 5 deletions
|
|
@ -243,6 +243,10 @@ class User
|
|||
|
||||
else
|
||||
object.perform self.id
|
||||
groups = self.groups_with_person(object.person)
|
||||
groups.each{ |group| group.post_ids.delete(ensure_bson(object.post_id))
|
||||
group.save
|
||||
}
|
||||
end
|
||||
elsif object.is_a? Request
|
||||
person = Diaspora::Parser.get_or_create_person_object_from_xml( xml )
|
||||
|
|
|
|||
|
|
@ -55,16 +55,16 @@ describe Group do
|
|||
describe 'posting' do
|
||||
|
||||
it 'should add post to group via post method' do
|
||||
@group = @user.group(:name => 'losers', :people => [@friend])
|
||||
group = @user.group(:name => 'losers', :people => [@friend])
|
||||
|
||||
status_message = @user.post( :status_message, :message => "hey", :group_id => @group.id )
|
||||
status_message = @user.post( :status_message, :message => "hey", :group_id => group.id )
|
||||
|
||||
@group.reload
|
||||
@group.posts.include?(status_message).should be true
|
||||
group.reload
|
||||
group.posts.include?(status_message).should be true
|
||||
end
|
||||
|
||||
it 'should add post to group via receive method' do
|
||||
group = @user.group(:name => 'losers')
|
||||
group = @user.group(:name => 'losers')
|
||||
group2 = @user2.group(:name => 'winners')
|
||||
friend_users(@user, group, @user2, group2)
|
||||
|
||||
|
|
@ -77,5 +77,24 @@ describe Group do
|
|||
@user.visible_posts(:by_members_of => group).include?(message).should be true
|
||||
end
|
||||
|
||||
it 'should retract the post from the groups as well' do
|
||||
group = @user.group(:name => 'losers')
|
||||
group2 = @user2.group(:name => 'winners')
|
||||
friend_users(@user, group, @user2, group2)
|
||||
|
||||
message = @user2.post(:status_message, :message => "Hey Dude")
|
||||
|
||||
@user.receive message.to_diaspora_xml
|
||||
group.reload
|
||||
|
||||
group.post_ids.include?(message.id).should be true
|
||||
|
||||
retraction = @user2.retract(message)
|
||||
@user.receive retraction.to_diaspora_xml
|
||||
|
||||
group.reload
|
||||
group.post_ids.include?(message.id).should be false
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue