mirror of
https://github.com/discourse/discourse.git
synced 2025-02-06 11:28:18 +00:00
This functionality was never supported but before the new review queue it didn't have any errors. Now the combination of settings is prevented and existing sites with sso enabled will be migrated to remove invite only.
67 lines
1.6 KiB
Ruby
67 lines
1.6 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe EnableSsoValidator do
|
|
subject { described_class.new }
|
|
|
|
describe '#valid_value?' do
|
|
describe "when 'sso url' is empty" do
|
|
before do
|
|
SiteSetting.sso_url = ""
|
|
end
|
|
|
|
describe 'when val is false' do
|
|
it 'should be valid' do
|
|
expect(subject.valid_value?('f')).to eq(true)
|
|
end
|
|
end
|
|
|
|
describe 'when value is true' do
|
|
it 'should not be valid' do
|
|
expect(subject.valid_value?('t')).to eq(false)
|
|
|
|
expect(subject.error_message).to eq(I18n.t(
|
|
'site_settings.errors.sso_url_is_empty'
|
|
))
|
|
end
|
|
end
|
|
end
|
|
|
|
describe "when invite_only is set" do
|
|
before do
|
|
SiteSetting.invite_only = true
|
|
SiteSetting.sso_url = 'https://example.com/sso'
|
|
end
|
|
|
|
it 'allows a false value' do
|
|
expect(subject.valid_value?('f')).to eq(true)
|
|
end
|
|
|
|
it "doesn't allow true" do
|
|
expect(subject.valid_value?('t')).to eq(false)
|
|
expect(subject.error_message).to eq(I18n.t(
|
|
'site_settings.errors.sso_invite_only'
|
|
))
|
|
end
|
|
end
|
|
|
|
describe "when 'sso url' is present" do
|
|
before do
|
|
SiteSetting.sso_url = "https://www.example.com/sso"
|
|
end
|
|
|
|
describe 'when value is false' do
|
|
it 'should be valid' do
|
|
expect(subject.valid_value?('f')).to eq(true)
|
|
end
|
|
end
|
|
|
|
describe 'when value is true' do
|
|
it 'should be valid' do
|
|
expect(subject.valid_value?('t')).to eq(true)
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|