Skip to content
Extraits de code Groupes Projets
Valider 08739ad2 rédigé par ilya's avatar ilya
Parcourir les fichiers

DG IZ; retractions remove post references in group objects

parent a7a9a987
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -243,6 +243,10 @@ class User ...@@ -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,16 +55,16 @@ describe Group do ...@@ -55,16 +55,16 @@ 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
group = @user.group(:name => 'losers') group = @user.group(:name => 'losers')
group2 = @user2.group(:name => 'winners') group2 = @user2.group(:name => 'winners')
friend_users(@user, group, @user2, group2) friend_users(@user, group, @user2, group2)
...@@ -77,5 +77,24 @@ describe Group 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
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter