diff options
-rw-r--r-- | app/models/info_request.rb | 3 | ||||
-rw-r--r-- | spec/models/info_request_spec.rb | 16 |
2 files changed, 19 insertions, 0 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb index beeeccd61..7f6b358db 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -918,6 +918,9 @@ public end outgoing_messages.each { |a| a.destroy } incoming_messages.each { |a| a.destroy } + comments.each { |comment| comment.destroy } + censor_rules.each{ |censor_rule| censor_rule.destroy } + destroy end diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb index 70947584b..c8bd2c338 100644 --- a/spec/models/info_request_spec.rb +++ b/spec/models/info_request_spec.rb @@ -1313,4 +1313,20 @@ describe InfoRequest do end + + describe 'when destroying a message' do + + it 'can destroy a request with comments and censor rules' do + info_request = FactoryGirl.create(:info_request) + censor_rule = FactoryGirl.create(:censor_rule, :info_request => info_request) + comment = FactoryGirl.create(:comment, :info_request => info_request) + info_request.reload + info_request.fully_destroy + + InfoRequest.where(:id => info_request.id).should be_empty + CensorRule.where(:id => censor_rule.id).should be_empty + Comment.where(:id => comment.id).should be_empty + end + + end end |