Commit 8de60dad8250038ca469045bd0c6a9ad51ec0384
1 parent
b118aa79
Exists in
master
and in
22 other branches
[comments-refactor-review] Refactoring and making tests for comment root
Showing
2 changed files
with
11 additions
and
6 deletions
Show diff stats
app/models/comment.rb
| @@ -34,13 +34,8 @@ class Comment < ActiveRecord::Base | @@ -34,13 +34,8 @@ class Comment < ActiveRecord::Base | ||
| 34 | 34 | ||
| 35 | xss_terminate :only => [ :body, :title, :name ], :on => 'validation' | 35 | xss_terminate :only => [ :body, :title, :name ], :on => 'validation' |
| 36 | 36 | ||
| 37 | - #FIXME make this test | ||
| 38 | def comment_root | 37 | def comment_root |
| 39 | - if(self.reply_of.present?) | ||
| 40 | - self.reply_of.comment_root | ||
| 41 | - else | ||
| 42 | - self | ||
| 43 | - end | 38 | + (reply_of && reply_of.comment_root) || self |
| 44 | end | 39 | end |
| 45 | 40 | ||
| 46 | def action_tracker_target | 41 | def action_tracker_target |
test/unit/comment_test.rb
| @@ -690,6 +690,16 @@ class CommentTest < ActiveSupport::TestCase | @@ -690,6 +690,16 @@ class CommentTest < ActiveSupport::TestCase | ||
| 690 | assert comment.can_be_updated_by?(user) | 690 | assert comment.can_be_updated_by?(user) |
| 691 | end | 691 | end |
| 692 | 692 | ||
| 693 | + should 'get comment root' do | ||
| 694 | + c1 = Comment.new | ||
| 695 | + c2 = Comment.new(:reply_of => c1) | ||
| 696 | + c3 = Comment.new(:reply_of => c2) | ||
| 697 | + | ||
| 698 | + assert_equal c1, c3.comment_root | ||
| 699 | + assert_equal c1, c2.comment_root | ||
| 700 | + assert_equal c1, c1.comment_root | ||
| 701 | + end | ||
| 702 | + | ||
| 693 | private | 703 | private |
| 694 | 704 | ||
| 695 | def create_comment(args = {}) | 705 | def create_comment(args = {}) |