FIX: Update sidebar to be navigation menu (#22101)

Communities can use sidebar or header dropdown, therefore navigation menu is a better name settings in 2 places:

- Old user sidebar preferences;
- Site setting about default tags and categories.
This commit is contained in:
Krzysztof Kotlarek
2023-06-15 09:31:28 +10:00
committed by GitHub
parent be7d82d2b0
commit 2effcaa0f9
41 changed files with 171 additions and 144 deletions

View File

@@ -22,7 +22,7 @@ RSpec.describe "Editing sidebar categories navigation", type: :system do
before do
SiteSetting.new_edit_sidebar_categories_tags_interface_groups = group.name
SiteSetting.default_sidebar_categories = "#{category.id}|#{category2.id}"
SiteSetting.default_navigation_menu_categories = "#{category.id}|#{category2.id}"
sign_in(user)
end

View File

@@ -2,26 +2,26 @@
module PageObjects
module Pages
class UserPreferencesSidebar < PageObjects::Pages::Base
class UserPreferencesNavigationMenu < PageObjects::Pages::Base
def visit(user)
page.visit("/u/#{user.username}/preferences/sidebar")
page.visit("/u/#{user.username}/preferences/navigation-menu")
self
end
def has_sidebar_categories_preference?(*categories)
def has_navigation_menu_categories_preference?(*categories)
category_selector_header = page.find(".category-selector .select-kit-header-wrapper")
category_selector_header.has_content?(categories.map(&:name).join(", "))
end
def has_sidebar_tags_preference?(*tags)
def has_navigation_menu_tags_preference?(*tags)
tag_selector_header = page.find(".tag-chooser .select-kit-header-wrapper")
tag_selector_header.has_content?(tags.map(&:name).join(", "))
end
def has_sidebar_list_destination_preference?(type)
def has_navigation_menu_list_destination_preference?(type)
list_selector_header =
page.find(
".preferences-sidebar-navigation__list-destination-selector .select-kit-header-wrapper",
".preferences-navigation-menu-navigation__list-destination-selector .select-kit-header-wrapper",
)
list_selector_header.has_content?(
I18n.t("js.user.experimental_sidebar.list_destination_#{type}"),

View File

@@ -1,7 +1,9 @@
# frozen_string_literal: true
describe "Viewing sidebar preferences", type: :system do
let(:user_preferences_sidebar_page) { PageObjects::Pages::UserPreferencesSidebar.new }
let(:user_preferences_navigation_menu_page) do
PageObjects::Pages::UserPreferencesNavigationMenu.new
end
before { SiteSetting.navigation_menu = "sidebar" }
@@ -27,19 +29,22 @@ describe "Viewing sidebar preferences", type: :system do
before { sign_in(admin) }
it "should be able to view sidebar preferences of another user" do
it "should be able to view navigation menu preferences of another user" do
user.user_option.update!(sidebar_list_destination: "unread_new")
user_preferences_sidebar_page.visit(user)
user_preferences_navigation_menu_page.visit(user)
expect(user_preferences_sidebar_page).to have_sidebar_categories_preference(
expect(user_preferences_navigation_menu_page).to have_navigation_menu_categories_preference(
category,
category2,
)
expect(user_preferences_sidebar_page).to have_sidebar_tags_preference(tag, tag2)
expect(user_preferences_sidebar_page).to have_sidebar_list_destination_preference(
"unread_new",
expect(user_preferences_navigation_menu_page).to have_navigation_menu_tags_preference(
tag,
tag2,
)
expect(
user_preferences_navigation_menu_page,
).to have_navigation_menu_list_destination_preference("unread_new")
end
end
end