mirror of
https://github.com/discourse/discourse.git
synced 2025-01-31 08:12:02 +08:00
9afb0b29f8
With the new admin sidebar restructure, we have a link to "Installed plugins". We would like to ensure that when the admin is searching for a plugin name like "akismet" or "automation" this link will be visible. Also when entering the plugins page, related plugins should be highlighted.
46 lines
1.1 KiB
Ruby
46 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "rails_helper"
|
|
|
|
RSpec.describe ApplicationController do
|
|
fab!(:user)
|
|
fab!(:admin)
|
|
|
|
def preloaded_json
|
|
JSON.parse(
|
|
Nokogiri::HTML5.fragment(response.body).css("div#data-preloaded").first["data-preloaded"],
|
|
)
|
|
end
|
|
|
|
before do
|
|
SiteSetting.chat_enabled = true
|
|
SiteSetting.chat_allowed_groups = Group::AUTO_GROUPS[:trust_level_0]
|
|
end
|
|
|
|
context "when user is admin" do
|
|
it "has correctly loaded preloaded data for visiblePlugins" do
|
|
sign_in(admin)
|
|
get "/latest"
|
|
expect(JSON.parse(preloaded_json["visiblePlugins"])).to include(
|
|
{
|
|
"name" => "chat",
|
|
"admin_route" => {
|
|
"label" => "chat.admin.title",
|
|
"location" => "chat",
|
|
"use_new_show_route" => false,
|
|
},
|
|
"enabled" => true,
|
|
},
|
|
)
|
|
end
|
|
end
|
|
|
|
context "when user is not admin" do
|
|
it "does not include preloaded data for visiblePlugins" do
|
|
sign_in(user)
|
|
get "/latest"
|
|
expect(preloaded_json["visiblePlugins"]).to eq(nil)
|
|
end
|
|
end
|
|
end
|