]> git.openstreetmap.org Git - rails.git/blob - test/helpers/issues_helper_test.rb
Merge remote-tracking branch 'upstream/pull/5787'
[rails.git] / test / helpers / issues_helper_test.rb
1 require "test_helper"
2
3 class IssuesHelperTest < ActionView::TestCase
4   attr_accessor :current_user
5
6   def test_reportable_dates_note
7     note = create(:note, :created_at => "2020-03-14", :updated_at => "2021-05-16")
8
9     dates = reportable_dates note
10
11     dom_dates = Rails::Dom::Testing.html_document_fragment.parse "<p>#{dates}</p>"
12     assert_dom dom_dates, ":root", "created on 14 March 2020 at 00:00, updated on 16 May 2021 at 00:00"
13   end
14
15   def test_reportable_dates_user
16     user = create(:user, :created_at => "2020-07-18")
17
18     dates = reportable_dates user
19
20     dom_dates = Rails::Dom::Testing.html_document_fragment.parse "<p>#{dates}</p>"
21     assert_dom dom_dates, ":root", "created on 18 July 2020 at 00:00"
22   end
23
24   def test_issues_count
25     target_user = create(:user)
26     self.current_user = create(:moderator_user)
27
28     n = (Settings.max_issues_count - 1)
29     n.times do
30       create(:note_with_comments) do |note|
31         create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
32       end
33     end
34     expected = <<~HTML.delete("\n")
35       <span class="badge count-number">#{n}</span>
36     HTML
37     assert_dom_equal expected, open_issues_count
38
39     n += 1
40     create(:note_with_comments) do |note|
41       create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
42     end
43     expected = <<~HTML.delete("\n")
44       <span class="badge count-number">#{n}+</span>
45     HTML
46     assert_dom_equal expected, open_issues_count
47   end
48 end