From 23d13adbc04f557c2f3b9f8aee59de2ca94443bc Mon Sep 17 00:00:00 2001 From: Alexandre Friquet Date: Tue, 15 Jan 2019 11:31:21 +0100 Subject: [PATCH] Fixes issue with inline SQL and MSSQL: refs #35. --- app/models/redhopper_issue.rb | 4 ++-- test/unit/redhopper_issue_test.rb | 33 ++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/app/models/redhopper_issue.rb b/app/models/redhopper_issue.rb index 751531e..37d5945 100644 --- a/app/models/redhopper_issue.rb +++ b/app/models/redhopper_issue.rb @@ -50,8 +50,8 @@ class RedhopperIssue < ActiveRecord::Base end def comments - # Some issue updates set notes to nil or "" hence the inline SQL :( - issue.journals.visible.where("LENGTH(journals.notes) > 0") + # Some issue updates set notes to nil or "" + issue.journals.visible.where.not(journals: {notes: ""}) end def sortable? diff --git a/test/unit/redhopper_issue_test.rb b/test/unit/redhopper_issue_test.rb index 9c96811..ff5736c 100644 --- a/test/unit/redhopper_issue_test.rb +++ b/test/unit/redhopper_issue_test.rb @@ -31,7 +31,8 @@ class RedhopperIssueTest < ActiveSupport::TestCase :enabled_modules, :enumerations, :trackers, - :projects_trackers + :projects_trackers, + :journals def test_sortable_in_sorted_zone # Given @@ -187,4 +188,34 @@ class RedhopperIssueTest < ActiveSupport::TestCase assert_equal '#92cfce', result end + test "comments returns visible journals without empty notes" do + # Given + redhopper_issue = RedhopperIssue.new issue: Issue.find(1) + journal = Journal.find(1) + journal.update_columns(notes: "") + # when + result = redhopper_issue.comments.length + # Then + assert_equal 1, result + end + + test "comments returns visible journals without notes set to nil" do + # Given + redhopper_issue = RedhopperIssue.new issue: Issue.find(1) + journal = Journal.find(1) + journal.update_columns(notes: nil) + # when + result = redhopper_issue.comments.length + # Then + assert_equal 1, result + end + + test "comments returns visible journals" do + # Given + redhopper_issue = RedhopperIssue.new issue: Issue.find(1) + # when + result = redhopper_issue.comments.length + # Then + assert_equal 2, result + end end -- GitLab