From f9856517db542faec7f5fbb7cd05abf444a80a75 Mon Sep 17 00:00:00 2001 From: Raphael <raphael@joindiaspora.com> Date: Fri, 2 Jul 2010 14:34:58 -0700 Subject: [PATCH] Post deletion now deletes comments --- app/models/post.rb | 5 +++++ spec/models/post_spec.rb | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/app/models/post.rb b/app/models/post.rb index d6d8e5600f..30c3bb82cb 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -23,6 +23,7 @@ class Post after_save :notify_friends before_destroy :propagate_delete + after_destroy :destroy_comments def self.stream Post.sort(:created_at.desc).all @@ -43,6 +44,10 @@ class Post protected + def destroy_comments + comments.each{|c| c.destroy} + end + def propagate_delete Retraction.for(self).notify_friends end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index 93deadc990..091edd71f7 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -83,5 +83,15 @@ describe Post do (message.to_xml.to_s.include? @user.email).should == true end end + + describe 'deletion' do + it 'should delete a posts comments on delete' do + post = Factory.create(:status_message, :person => @user) + @user.comment "hey", :on=> post + post.destroy + Post.all(:id => post.id).empty?.should == true + Comment.all(:text => "hey").empty?.should == true + end + end end -- GitLab