mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 14:35:58 +08:00
7d8974d02f
This upgrade is designed to be fully backwards-compatible. Any icon names which have changed will be automatically remapped to the new name. For now, this will happen silently. In future, once core & official themes/plugins have been updated, we will start raising deprecation errors to help theme/plugin authors update their code. Extracted from https://github.com/discourse/discourse/pull/28715 Announcement at https://meta.discourse.org/t/were-upgrading-our-icons-to-font-awesome-6/325349 Co-authored-by: awesomerobot <kris.aubuchon@discourse.org>
88 lines
2.4 KiB
Ruby
88 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 user flag wrench 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(
|
|
["My Posts", "Topics", "Review", "Admin", "More"],
|
|
)
|
|
|
|
expect(sidebar.primary_section_icons("community")).to eq(
|
|
%w[user paper-plane flag wrench 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(
|
|
["Topics", "My Posts", "Review", "Admin", "More"],
|
|
)
|
|
|
|
expect(sidebar.primary_section_icons("community")).to eq(
|
|
%w[layer-group user flag wrench 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
|