discourse/spec/system/admin_dashboard_new_features_spec.rb
Krzysztof Kotlarek 96c5a6c9ca
FEATURE: dedicated admin section for new features (#24292)
New tab in admin panel with list of new features. Presentation was enhanced by screenshot and markdown description.

Related PR https://github.com/discourse-org/discourse-new-features-feeds/pull/23
2023-11-20 09:59:04 +11:00

57 lines
1.7 KiB
Ruby

# frozen_string_literal: true
describe "Admin Dashboard New Features Page", type: :system do
let(:new_features_page) { PageObjects::Pages::AdminDashboardNewFeatures.new }
fab!(:admin) { Fabricate(:admin) }
before { sign_in(admin) }
it "displays new features with screenshot taking precednce 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" => "",
"created_at" => "2023-11-10T02:52:41.462Z",
"updated_at" => "2023-11-10T04:28:47.020Z",
"screenshot_url" =>
"/uploads/default/original/1X/bab053dc94dc4e0d357b0e777e3357bb1ac99e12.jpeg",
},
],
)
new_features_page.visit
expect(new_features_page).to have_screenshot
expect(new_features_page).to have_learn_more_link
expect(new_features_page).to have_no_emoji
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
end