discourse/plugins/chat/spec/system/page_objects/sidebar/sidebar.rb
Jan Cernik 8654757581
FIX: Hide 'My Threads' if no followed channels have threads (#25470)
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2024-01-30 10:53:32 -03:00

78 lines
2.2 KiB
Ruby

# frozen_string_literal: true
module PageObjects
module Pages
class Sidebar < PageObjects::Pages::Base
PUBLIC_CHANNELS_SECTION_SELECTOR = ".sidebar-section[data-section-name='chat-channels']"
DM_CHANNELS_SECTION_SELECTOR = ".sidebar-section[data-section-name='chat-dms']"
def has_no_public_channels_section?
has_no_css?(PUBLIC_CHANNELS_SECTION_SELECTOR)
end
def channels_section
find(PUBLIC_CHANNELS_SECTION_SELECTOR)
end
def dms_section
find(DM_CHANNELS_SECTION_SELECTOR)
end
def open_browse
channels_section.find(".sidebar-section-header-button", visible: false).click
end
def open_channel(channel)
find(".sidebar-section-link.channel-#{channel.id}").click
end
def remove_channel(channel)
selector = ".sidebar-section-link.channel-#{channel.id}"
find(selector).hover
find(selector + " .sidebar-section-hover-button").click
end
def find_channel(channel)
find(".sidebar-section-link.channel-#{channel.id}")
self
end
def has_user_threads_section?
has_css?(
".sidebar-section-link[data-link-name='user-threads'][href='/chat/threads']",
text: I18n.t("js.chat.my_threads.title"),
)
end
def has_no_user_threads_section?
has_no_css?(
".sidebar-section-link[data-link-name='user-threads'][href='/chat/threads']",
text: I18n.t("js.chat.my_threads.title"),
)
end
def has_unread_user_threads?
has_css?(
".sidebar-section-link[data-link-name='user-threads'] .sidebar-section-link-suffix.icon.unread",
)
end
def has_no_unread_user_threads?
has_no_css?(
".sidebar-section-link[data-link-name='user-threads'] .sidebar-section-link-suffix.icon.unread",
)
end
def has_unread_channel?(channel)
has_css?(".sidebar-section-link.channel-#{channel.id} .sidebar-section-link-suffix.unread")
end
def has_no_unread_channel?(channel)
has_no_css?(
".sidebar-section-link.channel-#{channel.id} .sidebar-section-link-suffix.unread",
)
end
end
end
end