# frozen_string_literal: true RSpec.describe SiteSettings::HiddenProvider do let(:provider_local) { SiteSettings::LocalProcessProvider.new } let(:settings) { new_settings(provider_local) } let(:hidden_provider) { SiteSettings::HiddenProvider.new } describe "all" do after { DiscoursePluginRegistry.clear_modifiers! } it "can return defaults" do hidden_provider.add_hidden(:secret_setting) hidden_provider.add_hidden(:internal_thing) expect(hidden_provider.all).to contain_exactly(:secret_setting, :internal_thing) end it "can return results from modifiers" do hidden_provider.add_hidden(:secret_setting) plugin = Plugin::Instance.new plugin.register_modifier(:hidden_site_settings) { |defaults| defaults + [:other_setting] } expect(hidden_provider.all).to contain_exactly(:secret_setting, :other_setting) end end end