mirror of
https://github.com/discourse/discourse.git
synced 2024-12-21 10:23:42 +08:00
57 lines
2.1 KiB
Ruby
57 lines
2.1 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
RSpec.describe ProblemCheck::FacebookConfig do
|
||
|
subject(:check) { described_class.new }
|
||
|
|
||
|
describe ".call" do
|
||
|
before { SiteSetting.stubs(enable_facebook_logins: enabled) }
|
||
|
|
||
|
context "when Facebook authentication is disabled" do
|
||
|
let(:enabled) { false }
|
||
|
|
||
|
it { expect(check).to be_chill_about_it }
|
||
|
end
|
||
|
|
||
|
context "when Facebook authentication is enabled and configured" do
|
||
|
let(:enabled) { true }
|
||
|
|
||
|
before do
|
||
|
SiteSetting.stubs(facebook_app_id: "foo")
|
||
|
SiteSetting.stubs(facebook_app_secret: "bar")
|
||
|
end
|
||
|
|
||
|
it { expect(check).to be_chill_about_it }
|
||
|
end
|
||
|
|
||
|
context "when Facebook authentication is enabled but missing client ID" do
|
||
|
let(:enabled) { true }
|
||
|
|
||
|
before do
|
||
|
SiteSetting.stubs(facebook_app_id: nil)
|
||
|
SiteSetting.stubs(facebook_app_secret: "bar")
|
||
|
end
|
||
|
|
||
|
it do
|
||
|
expect(check).to have_a_problem.with_priority("low").with_message(
|
||
|
'The server is configured to allow signup and login with Facebook (enable_facebook_logins), but the app id and app secret values are not set. Go to <a href="/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394" target="_blank">See this guide to learn more</a>.',
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "when Facebook authentication is enabled but missing client secret" do
|
||
|
let(:enabled) { true }
|
||
|
|
||
|
before do
|
||
|
SiteSetting.stubs(facebook_app_id: "foo")
|
||
|
SiteSetting.stubs(facebook_app_secret: nil)
|
||
|
end
|
||
|
|
||
|
it do
|
||
|
expect(check).to have_a_problem.with_priority("low").with_message(
|
||
|
'The server is configured to allow signup and login with Facebook (enable_facebook_logins), but the app id and app secret values are not set. Go to <a href="/admin/site_settings">the Site Settings</a> and update the settings. <a href="https://meta.discourse.org/t/configuring-facebook-login-for-discourse/13394" target="_blank">See this guide to learn more</a>.',
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|