discourse/plugins/styleguide/spec/integration/access_spec.rb
Martin Brennan a03f87bdbd
DEV: Move core plugin TL -> group settings (#25355)
* DEV: Change poll_minimum_trust_level_to_create to group based setting

New setting is poll_create_allowed_groups

c.f. https://meta.discourse.org/t/changes-coming-to-settings-for-giving-access-to-features-from-trust-levels-to-groups/283408

* DEV: Move styleguide_admin_only to group based setting

Not exactly a TL -> group change, but still part of the
overall effort here:

https://meta.discourse.org/t/changes-coming-to-settings-for-giving-access-to-features-from-trust-levels-to-groups/283408

New setting is styleguide_allowed_groups
2024-01-23 11:35:14 +10:00

50 lines
1.2 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
RSpec.describe "SiteSetting.styleguide_allowed_groups" do
before { SiteSetting.styleguide_enabled = true }
context "when styleguide is admin only" do
before { SiteSetting.styleguide_allowed_groups = Group::AUTO_GROUPS[:admins] }
context "when user is admin" do
before { sign_in(Fabricate(:admin)) }
it "shows the styleguide" do
get "/styleguide"
expect(response.status).to eq(200)
end
end
context "when user is not admin" do
before { sign_in(Fabricate(:user)) }
it "doesnt allow access" do
get "/styleguide"
expect(response.status).to eq(403)
end
end
end
end
RSpec.describe "SiteSetting.styleguide_enabled" do
before { sign_in(Fabricate(:admin)) }
context "when style is enabled" do
before { SiteSetting.styleguide_enabled = true }
it "shows the styleguide" do
get "/styleguide"
expect(response.status).to eq(200)
end
end
context "when styleguide is disabled" do
before { SiteSetting.styleguide_enabled = false }
it "returns a page not found" do
get "/styleguide"
expect(response.status).to eq(404)
end
end
end