mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-21 05:54:19 +08:00
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.
45 lines
1.1 KiB
Ruby
Vendored
45 lines
1.1 KiB
Ruby
Vendored
# 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
|