discourse/plugins/chat/spec/system/drawer/index_spec.rb
Joffrey JAFFEUX c74fa300e7
FEATURE: allows browse page in chat drawer (#27919)
This commit ensures the browse page can be loaded in the drawer and doesn’t force full page mode.

Other notable changes of this commit:
- be consistent about wrapping each full page route with "c-routes.--route-name" and each drawer container with "c-drawer-routes.--route-name"
- move browse channels into its own component, it was before in the template of the channels browse
2024-07-16 12:34:37 +02:00

55 lines
1.2 KiB
Ruby

# frozen_string_literal: true
RSpec.describe "Drawer - index", type: :system do
fab!(:current_user) { Fabricate(:user) }
let(:drawer_page) { PageObjects::Pages::ChatDrawer.new }
before do
chat_system_bootstrap
sign_in(current_user)
end
it "can leave a direct message" do
channel = Fabricate(:direct_message_channel, users: [current_user])
row = PageObjects::Components::Chat::ChannelRow.new(channel.id)
drawer_page.visit_index
drawer_page.click_direct_messages
expect(row).to exist
row.leave
expect(row).to be_non_existent
end
it "can leave a group message" do
channel =
Fabricate(
:direct_message_channel,
group: true,
users: [current_user, Fabricate(:user), Fabricate(:user)],
)
row = PageObjects::Components::Chat::ChannelRow.new(channel.id)
drawer_page.visit_index
drawer_page.click_direct_messages
expect(row).to exist
row.leave
expect(row).to be_non_existent
end
it "can open browse" do
channel = Fabricate(:chat_channel)
drawer_page.visit_index
drawer_page.channels_index.open_browse
expect(drawer_page.browse).to have_channel(name: channel.name)
end
end