diff options
author | Louise Crow <louise.crow@gmail.com> | 2015-04-13 15:14:28 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2015-04-13 15:32:57 +0100 |
commit | a44db2f848da474dd6371638972cf8ec3d585973 (patch) | |
tree | 93f8195a58ddff44f5f950a4d7ce260e193637fc | |
parent | 657d0db8b9fed93b86a608a0179b6763e68c0d62 (diff) |
Destroy associated censor rules and comments.
-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 |