mirror of
https://github.com/discourse/discourse.git
synced 2025-01-16 03:32:40 +08:00
47c8197ea1
This change adds a new dropdown trigger next to the "New Topic" button. When clicked a menu will display a list of topic/post drafts that can be clicked to resume the draft within the composer. The "New Topic" button will no longer change text to show "Open Draft" when a draft topic exists, it will still attempt to load the existing draft if one exists (this will change later when we support multiple drafts in a separate PR). The "My Posts" link in desktop sidebar will now be "My Drafts" and only appear when the current user has existing drafts.
84 lines
2.4 KiB
Ruby
84 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "Editing Sidebar Community Section", type: :system do
|
|
fab!(:admin)
|
|
fab!(:user)
|
|
|
|
let(:sidebar) { PageObjects::Components::NavigationMenu::Sidebar.new }
|
|
let(:sidebar_header_dropdown) { PageObjects::Components::NavigationMenu::HeaderDropdown.new }
|
|
|
|
it "should not display the edit section button to non admins" do
|
|
sign_in(user)
|
|
|
|
visit("/latest")
|
|
|
|
sidebar.click_community_section_more_button
|
|
|
|
expect(sidebar).to have_no_customize_community_section_button
|
|
end
|
|
|
|
it "allows admin to edit community section and reset to default" do
|
|
sign_in(admin)
|
|
|
|
visit("/latest")
|
|
|
|
expect(sidebar.primary_section_icons("community")).to eq(
|
|
%w[layer-group flag wrench paper-plane ellipsis-vertical],
|
|
)
|
|
|
|
modal = sidebar.click_community_section_more_button.click_customize_community_section_button
|
|
modal.fill_link("Topics", "/latest", "paper-plane")
|
|
modal.topics_link.drag_to(modal.review_link, delay: 0.4)
|
|
modal.save
|
|
modal.confirm_update
|
|
|
|
expect(sidebar.primary_section_links("community")).to eq(%w[Topics Review Admin Invite More])
|
|
|
|
expect(sidebar.primary_section_icons("community")).to eq(
|
|
%w[paper-plane flag wrench paper-plane ellipsis-vertical],
|
|
)
|
|
|
|
modal = sidebar.click_community_section_more_button.click_customize_community_section_button
|
|
modal.reset
|
|
|
|
expect(sidebar).to have_section("Community")
|
|
|
|
expect(sidebar.primary_section_links("community")).to eq(%w[Topics Review Admin Invite More])
|
|
|
|
expect(sidebar.primary_section_icons("community")).to eq(
|
|
%w[layer-group flag wrench paper-plane ellipsis-vertical],
|
|
)
|
|
end
|
|
|
|
it "allows admin to edit community section when no secondary section links" do
|
|
SidebarSection
|
|
.where(title: "Community")
|
|
.first
|
|
.sidebar_section_links
|
|
.where.not(position: 0)
|
|
.destroy_all
|
|
|
|
sign_in(admin)
|
|
|
|
visit("/latest")
|
|
|
|
modal = sidebar.click_customize_community_section_button
|
|
|
|
expect(modal).to be_visible
|
|
end
|
|
|
|
it "should allow admins to open modal to edit the section when `navigation_menu` site setting is `header dropdown`" do
|
|
SiteSetting.navigation_menu = "header dropdown"
|
|
|
|
sign_in(admin)
|
|
|
|
visit("/latest")
|
|
|
|
sidebar_header_dropdown.open
|
|
expect(sidebar_header_dropdown).to have_dropdown_visible
|
|
modal = sidebar_header_dropdown.click_customize_community_section_button
|
|
|
|
expect(modal).to be_visible
|
|
end
|
|
end
|