mirror of
https://github.com/discourse/discourse.git
synced 2025-02-06 11:28:18 +00:00
31a6d24053
This commit adds a blue dot next to the "What's New" link in the admin sidebar if the user has not seen the new features yet, as a followup to 3e5976f8436255185de556ae165d9d849ac8fb3a which removed the tab on the dashboard that had this same functionality. When the admin visits the "What's New" page they count as having seen all the features straight away. This could be something we want to change, but for now this keeps the same functionality.
106 lines
3.6 KiB
Ruby
106 lines
3.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
describe "Admin New Features Page", type: :system do
|
|
let(:new_features_page) { PageObjects::Pages::AdminNewFeatures.new }
|
|
let(:sidebar) { PageObjects::Components::NavigationMenu::Sidebar.new }
|
|
fab!(:admin)
|
|
|
|
before do
|
|
SiteSetting.navigation_menu = "sidebar"
|
|
SiteSetting.admin_sidebar_enabled_groups = [
|
|
Group::AUTO_GROUPS[:admins],
|
|
Group::AUTO_GROUPS[:moderators],
|
|
]
|
|
sign_in(admin)
|
|
end
|
|
|
|
it "displays new features with screenshot taking precedence over emoji" do
|
|
DiscourseUpdates.stubs(:new_features).returns(
|
|
[
|
|
{
|
|
"id" => 7,
|
|
"user_id" => 1,
|
|
"emoji" => "😍",
|
|
"title" => "New feature",
|
|
"description" => "New feature description",
|
|
"link" => "https://meta.discourse.org",
|
|
"tier" => [],
|
|
"discourse_version" => "3.3.0.beta4",
|
|
"created_at" => "2023-11-10T02:52:41.462Z",
|
|
"updated_at" => "2023-11-10T04:28:47.020Z",
|
|
"screenshot_url" =>
|
|
"/uploads/default/original/1X/bab053dc94dc4e0d357b0e777e3357bb1ac99e12.jpeg",
|
|
},
|
|
{
|
|
"id" => 8,
|
|
"user_id" => 1,
|
|
"emoji" => "🐼",
|
|
"title" => "New feature from previous release",
|
|
"description" => "New feature description",
|
|
"link" => "https://meta.discourse.org",
|
|
"tier" => [],
|
|
"discourse_version" => "3.3.0.beta3",
|
|
"created_at" => "2023-09-10T02:52:41.462Z",
|
|
"updated_at" => "2023-09-10T04:28:47.020Z",
|
|
"released_at" => "2023-08-10T04:28:47.020Z",
|
|
"screenshot_url" =>
|
|
"/uploads/default/original/1X/bab054dc94dc4e0d357b0e777e3357bb1ac99e13.jpeg",
|
|
},
|
|
],
|
|
)
|
|
|
|
new_features_page.visit
|
|
|
|
within find(".admin-config-area-card:first-child") do
|
|
expect(new_features_page).to have_screenshot
|
|
expect(new_features_page).to have_learn_more_link
|
|
expect(new_features_page).to have_no_emoji
|
|
expect(new_features_page).to have_date("November 2023")
|
|
expect(new_features_page).to have_version("3.3.0.beta4")
|
|
end
|
|
|
|
within find(".admin-config-area-card:last-child") do
|
|
expect(new_features_page).to have_screenshot
|
|
expect(new_features_page).to have_learn_more_link
|
|
expect(new_features_page).to have_no_emoji
|
|
expect(new_features_page).to have_date("August 2023")
|
|
expect(new_features_page).to have_version("3.3.0.beta3")
|
|
end
|
|
end
|
|
|
|
it "displays new features with emoji when no screenshot" do
|
|
DiscourseUpdates.stubs(:new_features).returns(
|
|
[
|
|
{
|
|
"id" => 7,
|
|
"user_id" => 1,
|
|
"emoji" => "😍",
|
|
"title" => "New feature",
|
|
"description" => "New feature description",
|
|
"link" => "https://meta.discourse.org",
|
|
"tier" => [],
|
|
"discourse_version" => "",
|
|
"created_at" => "2023-11-10T02:52:41.462Z",
|
|
"updated_at" => "2023-11-10T04:28:47.020Z",
|
|
},
|
|
],
|
|
)
|
|
new_features_page.visit
|
|
expect(new_features_page).to have_emoji
|
|
expect(new_features_page).to have_no_screenshot
|
|
end
|
|
|
|
it "displays a new feature indicator on the sidebar and clears it when navigating to what's new" do
|
|
DiscourseUpdates.stubs(:has_unseen_features?).returns(true)
|
|
visit "/admin"
|
|
sidebar.toggle_all_sections
|
|
expect(sidebar.find_section_link("admin_whats_new")).to have_css(
|
|
".sidebar-section-link-suffix.admin-sidebar-nav-link__dot",
|
|
)
|
|
sidebar.find_section_link("admin_whats_new").click
|
|
expect(sidebar.find_section_link("admin_whats_new")).to have_no_css(
|
|
".sidebar-section-link-suffix.admin-sidebar-nav-link__dot",
|
|
)
|
|
end
|
|
end
|