require "test_helper" class UserRolesHelperTest < ActionView::TestCase attr_accessor :current_user def test_role_icon_normal self.current_user = create(:user) icon = role_icon(current_user, "moderator") assert_dom_equal "", icon icon = role_icon(current_user, "importer") assert_dom_equal "", icon icon = role_icon(create(:moderator_user), "moderator") expected = <<~HTML.delete("\n") This user is a moderator HTML assert_dom_equal expected, icon icon = role_icon(create(:importer_user), "importer") expected = <<~HTML.delete("\n") This user is a importer HTML assert_dom_equal expected, icon end def test_role_icon_administrator self.current_user = create(:administrator_user) user = create(:user) icon = role_icon(user, "moderator") expected = <<~HTML.delete("\n") Grant moderator access HTML assert_dom_equal expected, icon icon = role_icon(user, "importer") expected = <<~HTML.delete("\n") Grant importer access HTML assert_dom_equal expected, icon moderator_user = create(:moderator_user) icon = role_icon(moderator_user, "moderator") expected = <<~HTML.delete("\n") Revoke moderator access HTML assert_dom_equal expected, icon icon = role_icon(user, "importer") expected = <<~HTML.delete("\n") Grant importer access HTML assert_dom_equal expected, icon importer_user = create(:importer_user) icon = role_icon(user, "moderator") expected = <<~HTML.delete("\n") Grant moderator access HTML assert_dom_equal expected, icon icon = role_icon(importer_user, "importer") expected = <<~HTML.delete("\n") Revoke importer access HTML assert_dom_equal expected, icon end def test_role_icons_normal self.current_user = create(:user) icons = role_icons(current_user) assert_dom_equal "", icons icons = role_icons(create(:moderator_user)) expected = <<~HTML.delete("\n") This user is a moderator HTML assert_dom_equal expected, icons icons = role_icons(create(:importer_user)) expected = <<~HTML.delete("\n") This user is a importer HTML assert_dom_equal expected, icons icons = role_icons(create(:super_user)) expected = <<~HTML.delete("\n") This user is an administrator This user is a moderator This user is a importer HTML assert_dom_equal expected, icons end def test_role_icons_administrator self.current_user = create(:administrator_user) user = create(:user) icons = role_icons(user) expected = <<~HTML.delete("\n") Grant administrator access Grant moderator access Grant importer access HTML assert_dom_equal expected, icons moderator_user = create(:moderator_user) icons = role_icons(moderator_user) expected = <<~HTML.delete("\n") Grant administrator access Revoke moderator access Grant importer access HTML assert_dom_equal expected, icons importer_user = create(:importer_user) icons = role_icons(importer_user) expected = <<~HTML.delete("\n") Grant administrator access Grant moderator access Revoke importer access HTML assert_dom_equal expected, icons super_user = create(:super_user) icons = role_icons(super_user) expected = <<~HTML.delete("\n") Revoke administrator access Revoke moderator access Revoke importer access HTML assert_dom_equal expected, icons end end