]> git.openstreetmap.org Git - rails.git/blob - test/helpers/changesets_helper_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / helpers / changesets_helper_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 class ChangesetsHelperTest < ActionView::TestCase
6   def test_changeset_user_link
7     changeset = create(:changeset)
8     changeset_user_link_dom = Rails::Dom::Testing.html_document_fragment.parse changeset_user_link(changeset)
9     assert_dom changeset_user_link_dom, "a:root", :text => changeset.user.display_name do
10       assert_dom "> @href", "/user/#{ERB::Util.u(changeset.user.display_name)}"
11     end
12
13     changeset = create(:changeset, :user => create(:user, :data_public => false))
14     assert_equal "anonymous", changeset_user_link(changeset)
15
16     changeset = create(:changeset, :user => create(:user, :deleted))
17     assert_equal "deleted", changeset_user_link(changeset)
18   end
19
20   def test_changeset_details
21     changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :user => create(:user, :data_public => false))
22     # We need to explicitly reset the closed_at to some point in the future, and avoid the before_save callback
23     changeset.update_column(:closed_at, Time.now.utc + 1.day) # rubocop:disable Rails/SkipsModelValidations
24     changeset_details_dom = Rails::Dom::Testing.html_document_fragment.parse "<div>#{changeset_details(changeset)}</div>"
25     assert_dom changeset_details_dom, ":root", :text => /^Created .* by anonymous$/ do
26       assert_dom "> time", :count => 1 do
27         assert_dom "> @title", "Mon, 01 Jan 2007 00:00:00 +0000"
28         assert_dom "> @datetime", "2007-01-01T00:00:00Z"
29       end
30       assert_dom "> a", :count => 0
31     end
32
33     changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :closed_at => Time.utc(2007, 1, 2, 0, 0, 0))
34     changeset_details_dom = Rails::Dom::Testing.html_document_fragment.parse "<div>#{changeset_details(changeset)}</div>"
35     assert_dom changeset_details_dom, ":root", :text => /^Closed .* by #{changeset.user.display_name}$/ do
36       assert_dom "> time", :count => 1 do
37         assert_dom "> @title", :html => "Created: Mon, 01 Jan 2007 00:00:00 +0000\nClosed: Tue, 02 Jan 2007 00:00:00 +0000"
38         assert_dom "> @datetime", "2007-01-02T00:00:00Z"
39       end
40       assert_dom "> a", :count => 1, :text => changeset.user.display_name do
41         assert_dom "> @href", "/user/#{ERB::Util.u(changeset.user.display_name)}"
42       end
43     end
44   end
45 end