]> git.openstreetmap.org Git - rails.git/blobdiff - test/helpers/user_roles_helper_test.rb
Rework note events to avoid raw html in translations
[rails.git] / test / helpers / user_roles_helper_test.rb
index 8216a5b56458f01debb99eb1bd4873000d749096..9c9d31e6090fb8cca3477b75cfd4362d84979460 100644 (file)
 require "test_helper"
 
 class UserRolesHelperTest < ActionView::TestCase
-  fixtures :users, :user_roles
+  attr_accessor :current_user
 
   def test_role_icon_normal
-    @user = users(:normal_user)
+    self.current_user = create(:user)
 
-    icon = role_icon(users(:normal_user), "moderator")
+    icon = role_icon(current_user, "moderator")
     assert_dom_equal "", icon
 
-    icon = role_icon(users(:moderator_user), "moderator")
-    assert_dom_equal '<img border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />', icon
+    icon = role_icon(create(:moderator_user), "moderator")
+    expected = <<~HTML.delete("\n")
+      <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+    HTML
+    assert_dom_equal expected, icon
   end
 
   def test_role_icon_administrator
-    @user = users(:administrator_user)
+    self.current_user = create(:administrator_user)
 
-    icon = role_icon(users(:normal_user), "moderator")
-    assert_dom_equal '<a confirm="Are you sure you want to grant the role `moderator&#39; to the user `test&#39;?" rel="nofollow" data-method="post" href="/user/test/role/moderator/grant"><img border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" /></a>', icon
+    user = create(:user)
+    icon = role_icon(user, "moderator")
+    expected = <<~HTML.delete("\n")
+      <a confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
+      <picture>
+      <source srcset="/images/roles/blank_moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
+      </picture>
+      </a>
+    HTML
+    assert_dom_equal expected, icon
 
-    icon = role_icon(users(:moderator_user), "moderator")
-    assert_dom_equal '<a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `moderator&#39;?" rel="nofollow" data-method="post" href="/user/moderator/role/moderator/revoke"><img border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" /></a>', icon
+    moderator_user = create(:moderator_user)
+    icon = role_icon(moderator_user, "moderator")
+    expected = <<~HTML.delete("\n")
+      <a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
+      <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+      </a>
+    HTML
+    assert_dom_equal expected, icon
   end
 
   def test_role_icons_normal
-    @user = users(:normal_user)
+    self.current_user = create(:user)
 
-    icons = role_icons(users(:normal_user))
-    assert_dom_equal "  ", icons
+    icons = role_icons(current_user)
+    assert_dom_equal "", icons
 
-    icons = role_icons(users(:moderator_user))
-    assert_dom_equal '  <img border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />', icons
+    icons = role_icons(create(:moderator_user))
+    expected = <<~HTML.delete("\n")
+      <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+    HTML
+    assert_dom_equal expected, icons
 
-    icons = role_icons(users(:super_user))
-    assert_dom_equal ' <img border="0" alt="This user is an administrator" title="This user is an administrator" src="/images/roles/administrator.png" width="20" height="20" /> <img border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />', icons
+    icons = role_icons(create(:super_user))
+    expected = <<~HTML.delete("\n")
+      <picture>
+      <source srcset="/images/roles/administrator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/administrator.svg" border="0" alt="This user is an administrator" title="This user is an administrator" src="/images/roles/administrator.png" width="20" height="20" />
+      </picture>
+       <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+    HTML
+    assert_dom_equal expected, icons
   end
 
   def test_role_icons_administrator
-    @user = users(:administrator_user)
+    self.current_user = create(:administrator_user)
 
-    icons = role_icons(users(:normal_user))
-    assert_dom_equal ' <a confirm="Are you sure you want to grant the role `administrator&#39; to the user `test&#39;?" rel="nofollow" data-method="post" href="/user/test/role/administrator/grant"><img border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" /></a> <a confirm="Are you sure you want to grant the role `moderator&#39; to the user `test&#39;?" rel="nofollow" data-method="post" href="/user/test/role/moderator/grant"><img border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" /></a>', icons
+    user = create(:user)
+    icons = role_icons(user)
+    expected = <<~HTML.delete("\n")
+      <a confirm="Are you sure you want to grant the role `administrator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/administrator/grant">
+      <picture>
+      <source srcset="/images/roles/blank_administrator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
+      </picture>
+      </a>
+       <a confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
+      <picture>
+      <source srcset="/images/roles/blank_moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
+      </picture>
+      </a>
+    HTML
+    assert_dom_equal expected, icons
 
-    icons = role_icons(users(:moderator_user))
-    assert_dom_equal ' <a confirm="Are you sure you want to grant the role `administrator&#39; to the user `moderator&#39;?" rel="nofollow" data-method="post" href="/user/moderator/role/administrator/grant"><img border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" /></a> <a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `moderator&#39;?" rel="nofollow" data-method="post" href="/user/moderator/role/moderator/revoke"><img border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" /></a>', icons
+    moderator_user = create(:moderator_user)
+    icons = role_icons(moderator_user)
+    expected = <<~HTML.delete("\n")
+      <a confirm="Are you sure you want to grant the role `administrator&#39; to the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/administrator/grant">
+      <picture>
+      <source srcset="/images/roles/blank_administrator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
+      </picture>
+      </a>
+       <a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
+      <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+      </a>
+    HTML
+    assert_dom_equal expected, icons
 
-    icons = role_icons(users(:super_user))
-    assert_dom_equal ' <a confirm="Are you sure you want to revoke the role `administrator&#39; from the user `super&#39;?" rel="nofollow" data-method="post" href="/user/super/role/administrator/revoke"><img border="0" alt="Revoke administrator access" title="Revoke administrator access" src="/images/roles/administrator.png" width="20" height="20" /></a> <a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `super&#39;?" rel="nofollow" data-method="post" href="/user/super/role/moderator/revoke"><img border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" /></a>', icons
+    super_user = create(:super_user)
+    icons = role_icons(super_user)
+    expected = <<~HTML.delete("\n")
+      <a confirm="Are you sure you want to revoke the role `administrator&#39; from the user `#{super_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/administrator/revoke">
+      <picture>
+      <source srcset="/images/roles/administrator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/administrator.svg" border="0" alt="Revoke administrator access" title="Revoke administrator access" src="/images/roles/administrator.png" width="20" height="20" />
+      </picture>
+      </a>
+       <a confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{super_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/moderator/revoke">
+      <picture>
+      <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
+      </picture>
+      </a>
+    HTML
+    assert_dom_equal expected, icons
   end
 end