Turn default services into a configurable setting
With the default value being all enabled services
This commit is contained in:
parent
ef2a37e2bf
commit
5474bf66e7
@ -21,8 +21,14 @@ class Setting < RailsSettings::Base
|
||||
include Settings::RemoteStorageSettings
|
||||
include Settings::XmppSettings
|
||||
|
||||
def self.default_services
|
||||
# TODO Make configurable from respective service settings page
|
||||
%w[ discourse gitea mastodon mediawiki remotestorage xmpp ]
|
||||
def self.available_services
|
||||
known_services = %w[
|
||||
discourse ejabberd email gitea mastodon mediawiki remotestorage
|
||||
]
|
||||
|
||||
known_services.select {|s| Setting.send "#{s}_enabled?" }
|
||||
end
|
||||
|
||||
field :default_services, type: :array,
|
||||
default: self.available_services
|
||||
end
|
||||
|
23
spec/models/setting_spec.rb
Normal file
23
spec/models/setting_spec.rb
Normal file
@ -0,0 +1,23 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Setting, type: :model do
|
||||
|
||||
describe ".available_services" do
|
||||
before do
|
||||
Setting.discourse_enabled = true
|
||||
Setting.ejabberd_enabled = true
|
||||
Setting.email_enabled = false
|
||||
Setting.gitea_enabled = false
|
||||
Setting.mastodon_enabled = true
|
||||
Setting.mediawiki_enabled = false
|
||||
Setting.remotestorage_enabled = true
|
||||
end
|
||||
|
||||
it "contains all enabled services" do
|
||||
expect(Setting.available_services).to eq(%w[
|
||||
discourse ejabberd mastodon remotestorage
|
||||
])
|
||||
end
|
||||
end
|
||||
|
||||
end
|
@ -178,7 +178,7 @@ RSpec.describe User, type: :model do
|
||||
after { clear_enqueued_jobs }
|
||||
|
||||
it "enables default services" do
|
||||
expect(user).to receive(:enable_service).with(%w[ discourse gitea mastodon mediawiki remotestorage xmpp ])
|
||||
expect(user).to receive(:enable_service).with(Setting.default_services)
|
||||
user.send :devise_after_confirmation
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user