FIX: Broken group messages inboxes when group name is mixed case (#22183)

This is a follow up to 1cbc65ba79 where
visiting a group with a mixed case name would result in an error.
This commit is contained in:
Alan Guo Xiang Tan
2023-06-19 17:36:04 +08:00
committed by GitHub
parent 8837ee4b39
commit 57c96ed03d
5 changed files with 66 additions and 52 deletions

View File

@@ -0,0 +1,21 @@
# frozen_string_literal: true
module PageObjects
module Pages
class UserPrivateMessages < PageObjects::Pages::Base
def visit(user)
page.visit "/u/#{user.username}/messages"
self
end
def visit_group_inbox(user, group)
page.visit "/u/#{user.username}/messages/group/#{group.name}"
self
end
def has_right_inbox_dropdown_value?(value)
has_css?(".user-nav-messages-dropdown .combo-box-header[data-name='#{value}']")
end
end
end
end

View File

@@ -0,0 +1,30 @@
# frozen_string_literal: true
describe "Viewing user private messages", type: :system do
fab!(:user) { Fabricate(:user, username: "mIxed_caSE_usERNAME") }
fab!(:user2) { Fabricate(:user) }
let(:user_private_messages_page) { PageObjects::Pages::UserPrivateMessages.new }
before { sign_in(user) }
describe "when the user has group messages" do
fab!(:group) do
Fabricate(:group, name: "miXeD_caSE_name", has_messages: true).tap { |g| g.add(user) }
end
before { SiteSetting.personal_message_enabled_groups = Group::AUTO_GROUPS[:everyone] }
it "allows the user to view the default messages inbox" do
user_private_messages_page.visit(user)
expect(user_private_messages_page).to have_right_inbox_dropdown_value("Inbox")
end
it "allows the user to view the group messages inbox of a group" do
user_private_messages_page.visit_group_inbox(user, group)
expect(user_private_messages_page).to have_right_inbox_dropdown_value("miXeD_caSE_name")
end
end
end