mirror of
https://github.com/discourse/discourse.git
synced 2024-12-21 18:43:45 +08:00
fd1220af69
When using chat in drawer mode, after you've clicked on a chat bookmark in the user menu, clicking any other chat bookmark would "do nothing".
In 8b18fd1556
we added an optimization to prevent the same route from being reloaded, but it ended up breaking the bookmarks.
This commit reverts the changed made the above commit and adds a system specs that ensure we can click two chat bookmarks in the user menu when using chat in drawer mode.
Internal ref - t/134362
68 lines
1.8 KiB
Ruby
68 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module PageObjects
|
|
module Components
|
|
class UserMenu < PageObjects::Components::Base
|
|
def open
|
|
find(".header-dropdown-toggle.current-user").click
|
|
has_css?(".user-menu")
|
|
self
|
|
end
|
|
|
|
def click_replies_notifications_tab
|
|
click_link("user-menu-button-replies")
|
|
has_css?("#quick-access-replies")
|
|
self
|
|
end
|
|
|
|
def click_bookmarks_tab
|
|
click_link("user-menu-button-bookmarks")
|
|
has_css?("#quick-access-bookmarks")
|
|
self
|
|
end
|
|
|
|
def click_profile_tab
|
|
click_link("user-menu-button-profile")
|
|
has_css?("#quick-access-profile")
|
|
self
|
|
end
|
|
|
|
def click_logout_button
|
|
find("#quick-access-profile .logout .btn").click
|
|
has_css?(".d-header .login-button")
|
|
self
|
|
end
|
|
|
|
def click_bookmark(bookmark)
|
|
find("#quick-access-bookmarks .bookmark a[href='#{bookmark.bookmarkable.url}']").click
|
|
self
|
|
end
|
|
|
|
def sign_out
|
|
open
|
|
click_profile_tab
|
|
click_logout_button
|
|
self
|
|
end
|
|
|
|
def has_group_mentioned_notification?(topic, user_that_mentioned_group, group_mentioned)
|
|
expect(find("#quick-access-replies .group-mentioned").text).to eq(
|
|
"#{user_that_mentioned_group.username} @#{group_mentioned.name} #{topic.title}",
|
|
)
|
|
end
|
|
|
|
def has_right_replies_button_count?(count)
|
|
expect(find("#user-menu-button-replies").text).to eq(count.to_s)
|
|
end
|
|
|
|
def has_notification_count_of?(count)
|
|
page.has_css?(".user-menu li.notification", count: count)
|
|
end
|
|
|
|
def has_bookmark_count_of?(count)
|
|
page.has_css?(".user-menu #quick-access-bookmarks li.bookmark", count: count)
|
|
end
|
|
end
|
|
end
|
|
end
|