def open_issues_count
count = Issue.visible_to(current_user).open.limit(Settings.max_issues_count).size
if count >= Settings.max_issues_count
- tag.span("#{Settings.max_issues_count - 1}+", :class => "badge count-number")
+ tag.span("#{Settings.max_issues_count}+", :class => "badge count-number")
elsif count.positive?
tag.span(count, :class => "badge count-number")
end
default_note_query_limit: 100
# Maximum limit on the number of notes returned by the note search api method
max_note_query_limit: 10000
-# Maximum value of open issues counter for moderators, anything equal or over this value "n" is shown as "(n-1)+"
-max_issues_count: 100
+# Maximum value of open issues counter for moderators, anything equal or greater to this value "n" is shown as "n+"
+max_issues_count: 99
# Zoom level to use for postcode results from the geocoder
postcode_zoom: 15
# Timeout for API calls in seconds
--- /dev/null
+require "test_helper"
+
+class IssuesHelperTest < ActionView::TestCase
+ attr_accessor :current_user
+
+ def test_issues_count
+ target_user = create(:user)
+ self.current_user = create(:moderator_user)
+
+ n = (Settings.max_issues_count - 1)
+ n.times do
+ create(:note_with_comments) do |note|
+ create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
+ end
+ end
+ expected = <<~HTML.delete("\n")
+ <span class="badge count-number">#{n}</span>
+ HTML
+ assert_dom_equal expected, open_issues_count
+
+ n += 1
+ create(:note_with_comments) do |note|
+ create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
+ end
+ expected = <<~HTML.delete("\n")
+ <span class="badge count-number">#{n}+</span>
+ HTML
+ assert_dom_equal expected, open_issues_count
+ end
+end