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
|
else
|
||||||
object.perform self.id
|
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
|
end
|
||||||
elsif object.is_a? Request
|
elsif object.is_a? Request
|
||||||
person = Diaspora::Parser.get_or_create_person_object_from_xml( xml )
|
person = Diaspora::Parser.get_or_create_person_object_from_xml( xml )
|
||||||
|
|
|
||||||
|
|
@ -55,12 +55,12 @@ describe Group do
|
||||||
describe 'posting' do
|
describe 'posting' do
|
||||||
|
|
||||||
it 'should add post to group via post method' 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.reload
|
||||||
@group.posts.include?(status_message).should be true
|
group.posts.include?(status_message).should be true
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should add post to group via receive method' do
|
it 'should add post to group via receive method' do
|
||||||
|
|
@ -77,5 +77,24 @@ describe Group do
|
||||||
@user.visible_posts(:by_members_of => group).include?(message).should be true
|
@user.visible_posts(:by_members_of => group).include?(message).should be true
|
||||||
end
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue