DEV: Apply syntax_tree formatting to spec/*

This commit is contained in:
David Taylor
2023-01-09 11:18:21 +00:00
parent 0cf6421716
commit cb932d6ee1
907 changed files with 58693 additions and 45909 deletions

View File

@ -11,7 +11,9 @@ RSpec.describe AdminDashboardData do
it "adds the message and returns it when the problems are fetched" do
AdminDashboardData.add_problem_message("dashboard.bad_favicon_url")
problems = AdminDashboardData.fetch_problems.map(&:to_s)
expect(problems).to include(I18n.t("dashboard.bad_favicon_url", { base_path: Discourse.base_path }))
expect(problems).to include(
I18n.t("dashboard.bad_favicon_url", { base_path: Discourse.base_path }),
)
end
it "does not allow adding of arbitrary problem messages, they must exist in AdminDashboardData.problem_messages" do
@ -22,21 +24,20 @@ RSpec.describe AdminDashboardData do
end
describe "adding new checks" do
it 'calls the passed block' do
AdminDashboardData.add_problem_check do
"a problem was found"
end
it "calls the passed block" do
AdminDashboardData.add_problem_check { "a problem was found" }
problems = AdminDashboardData.fetch_problems
expect(problems.map(&:to_s)).to include("a problem was found")
end
it 'calls the passed method' do
klass = Class.new(AdminDashboardData) do
def my_test_method
"a problem was found"
it "calls the passed method" do
klass =
Class.new(AdminDashboardData) do
def my_test_method
"a problem was found"
end
end
end
klass.add_problem_check :my_test_method
@ -49,9 +50,7 @@ RSpec.describe AdminDashboardData do
describe "adding scheduled checks" do
it "adds the passed block to the scheduled checks" do
called = false
AdminDashboardData.add_scheduled_problem_check(:test_identifier) do
called = true
end
AdminDashboardData.add_scheduled_problem_check(:test_identifier) { called = true }
AdminDashboardData.execute_scheduled_checks
expect(called).to eq(true)
@ -73,7 +72,9 @@ RSpec.describe AdminDashboardData do
prob2 = AdminDashboardData::Problem.new("test problem 2", identifier: "test")
AdminDashboardData.add_found_scheduled_check_problem(prob1)
AdminDashboardData.add_found_scheduled_check_problem(prob2)
expect(AdminDashboardData.load_found_scheduled_check_problems.map(&:to_s)).to eq(["test problem"])
expect(AdminDashboardData.load_found_scheduled_check_problems.map(&:to_s)).to eq(
["test problem"],
)
end
it "does not error when loading malformed problems saved in redis" do
@ -96,207 +97,206 @@ RSpec.describe AdminDashboardData do
end
end
describe 'stats cache' do
include_examples 'stats cacheable'
describe "stats cache" do
include_examples "stats cacheable"
end
describe '#problem_message_check' do
describe "#problem_message_check" do
let(:key) { AdminDashboardData.problem_messages.first }
after do
described_class.clear_problem_message(key)
end
after { described_class.clear_problem_message(key) }
it 'returns nil if message has not been added' do
it "returns nil if message has not been added" do
expect(described_class.problem_message_check(key)).to be_nil
end
it 'returns a message if it was added' do
it "returns a message if it was added" do
described_class.add_problem_message(key)
expect(described_class.problem_message_check(key)).to eq(I18n.t(key, base_path: Discourse.base_path))
expect(described_class.problem_message_check(key)).to eq(
I18n.t(key, base_path: Discourse.base_path),
)
end
it 'returns a message if it was added with an expiry' do
it "returns a message if it was added with an expiry" do
described_class.add_problem_message(key, 300)
expect(described_class.problem_message_check(key)).to eq(I18n.t(key, base_path: Discourse.base_path))
expect(described_class.problem_message_check(key)).to eq(
I18n.t(key, base_path: Discourse.base_path),
)
end
end
describe "rails_env_check" do
subject { described_class.new.rails_env_check }
it 'returns nil when running in production mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('production'))
it "returns nil when running in production mode" do
Rails.stubs(env: ActiveSupport::StringInquirer.new("production"))
expect(subject).to be_nil
end
it 'returns a string when running in development mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('development'))
it "returns a string when running in development mode" do
Rails.stubs(env: ActiveSupport::StringInquirer.new("development"))
expect(subject).to_not be_nil
end
it 'returns a string when running in test mode' do
Rails.stubs(env: ActiveSupport::StringInquirer.new('test'))
it "returns a string when running in test mode" do
Rails.stubs(env: ActiveSupport::StringInquirer.new("test"))
expect(subject).to_not be_nil
end
end
describe 'host_names_check' do
describe "host_names_check" do
subject { described_class.new.host_names_check }
it 'returns nil when host_names is set' do
Discourse.stubs(:current_hostname).returns('something.com')
it "returns nil when host_names is set" do
Discourse.stubs(:current_hostname).returns("something.com")
expect(subject).to be_nil
end
it 'returns a string when host_name is localhost' do
Discourse.stubs(:current_hostname).returns('localhost')
it "returns a string when host_name is localhost" do
Discourse.stubs(:current_hostname).returns("localhost")
expect(subject).to_not be_nil
end
it 'returns a string when host_name is production.localhost' do
Discourse.stubs(:current_hostname).returns('production.localhost')
it "returns a string when host_name is production.localhost" do
Discourse.stubs(:current_hostname).returns("production.localhost")
expect(subject).to_not be_nil
end
end
describe 'sidekiq_check' do
describe "sidekiq_check" do
subject { described_class.new.sidekiq_check }
it 'returns nil when sidekiq processed a job recently' do
it "returns nil when sidekiq processed a job recently" do
Jobs.stubs(:last_job_performed_at).returns(1.minute.ago)
Jobs.stubs(:queued).returns(0)
expect(subject).to be_nil
end
it 'returns nil when last job processed was a long time ago, but no jobs are queued' do
it "returns nil when last job processed was a long time ago, but no jobs are queued" do
Jobs.stubs(:last_job_performed_at).returns(7.days.ago)
Jobs.stubs(:queued).returns(0)
expect(subject).to be_nil
end
it 'returns nil when no jobs have ever been processed, but no jobs are queued' do
it "returns nil when no jobs have ever been processed, but no jobs are queued" do
Jobs.stubs(:last_job_performed_at).returns(nil)
Jobs.stubs(:queued).returns(0)
expect(subject).to be_nil
end
it 'returns a string when no jobs were processed recently and some jobs are queued' do
it "returns a string when no jobs were processed recently and some jobs are queued" do
Jobs.stubs(:last_job_performed_at).returns(20.minutes.ago)
Jobs.stubs(:queued).returns(1)
expect(subject).to_not be_nil
end
it 'returns a string when no jobs have ever been processed, and some jobs are queued' do
it "returns a string when no jobs have ever been processed, and some jobs are queued" do
Jobs.stubs(:last_job_performed_at).returns(nil)
Jobs.stubs(:queued).returns(1)
expect(subject).to_not be_nil
end
end
describe 'ram_check' do
describe "ram_check" do
subject { described_class.new.ram_check }
it 'returns nil when total ram is 1 GB' do
MemInfo.any_instance.stubs(:mem_total).returns(1025272)
it "returns nil when total ram is 1 GB" do
MemInfo.any_instance.stubs(:mem_total).returns(1_025_272)
expect(subject).to be_nil
end
it 'returns nil when total ram cannot be determined' do
it "returns nil when total ram cannot be determined" do
MemInfo.any_instance.stubs(:mem_total).returns(nil)
expect(subject).to be_nil
end
it 'returns a string when total ram is less than 1 GB' do
MemInfo.any_instance.stubs(:mem_total).returns(512636)
it "returns a string when total ram is less than 1 GB" do
MemInfo.any_instance.stubs(:mem_total).returns(512_636)
expect(subject).to_not be_nil
end
end
describe 'auth_config_checks' do
shared_examples 'problem detection for login providers' do
context 'when disabled' do
it 'returns nil' do
describe "auth_config_checks" do
shared_examples "problem detection for login providers" do
context "when disabled" do
it "returns nil" do
SiteSetting.set(enable_setting, false)
expect(subject).to be_nil
end
end
context 'when enabled' do
before do
SiteSetting.set(enable_setting, true)
end
context "when enabled" do
before { SiteSetting.set(enable_setting, true) }
it 'returns nil when key and secret are set' do
SiteSetting.set(key, '12313213')
SiteSetting.set(secret, '12312313123')
it "returns nil when key and secret are set" do
SiteSetting.set(key, "12313213")
SiteSetting.set(secret, "12312313123")
expect(subject).to be_nil
end
it 'returns a string when key is not set' do
SiteSetting.set(key, '')
SiteSetting.set(secret, '12312313123')
it "returns a string when key is not set" do
SiteSetting.set(key, "")
SiteSetting.set(secret, "12312313123")
expect(subject).to_not be_nil
end
it 'returns a string when secret is not set' do
SiteSetting.set(key, '123123')
SiteSetting.set(secret, '')
it "returns a string when secret is not set" do
SiteSetting.set(key, "123123")
SiteSetting.set(secret, "")
expect(subject).to_not be_nil
end
it 'returns a string when key and secret are not set' do
SiteSetting.set(key, '')
SiteSetting.set(secret, '')
it "returns a string when key and secret are not set" do
SiteSetting.set(key, "")
SiteSetting.set(secret, "")
expect(subject).to_not be_nil
end
end
end
describe 'facebook' do
describe "facebook" do
subject { described_class.new.facebook_config_check }
let(:enable_setting) { :enable_facebook_logins }
let(:key) { :facebook_app_id }
let(:secret) { :facebook_app_secret }
include_examples 'problem detection for login providers'
include_examples "problem detection for login providers"
end
describe 'twitter' do
describe "twitter" do
subject { described_class.new.twitter_config_check }
let(:enable_setting) { :enable_twitter_logins }
let(:key) { :twitter_consumer_key }
let(:secret) { :twitter_consumer_secret }
include_examples 'problem detection for login providers'
include_examples "problem detection for login providers"
end
describe 'github' do
describe "github" do
subject { described_class.new.github_config_check }
let(:enable_setting) { :enable_github_logins }
let(:key) { :github_client_id }
let(:secret) { :github_client_secret }
include_examples 'problem detection for login providers'
include_examples "problem detection for login providers"
end
end
describe 'force_https_check' do
describe "force_https_check" do
subject { described_class.new(check_force_https: true).force_https_check }
it 'returns nil if force_https site setting enabled' do
it "returns nil if force_https site setting enabled" do
SiteSetting.force_https = true
expect(subject).to be_nil
end
it 'returns nil if force_https site setting not enabled' do
it "returns nil if force_https site setting not enabled" do
SiteSetting.force_https = false
expect(subject).to eq(I18n.t('dashboard.force_https_warning', base_path: Discourse.base_path))
expect(subject).to eq(I18n.t("dashboard.force_https_warning", base_path: Discourse.base_path))
end
end
describe 'ignore force_https_check' do
describe "ignore force_https_check" do
subject { described_class.new(check_force_https: false).force_https_check }
it 'returns nil' do
it "returns nil" do
SiteSetting.force_https = true
expect(subject).to be_nil
@ -305,7 +305,7 @@ RSpec.describe AdminDashboardData do
end
end
describe '#out_of_date_themes' do
describe "#out_of_date_themes" do
let(:remote) { RemoteTheme.create!(remote_url: "https://github.com/org/testtheme") }
let!(:theme) { Fabricate(:theme, remote_theme: remote, name: "Test< Theme") }
@ -313,7 +313,8 @@ RSpec.describe AdminDashboardData do
remote.update!(local_version: "old version", remote_version: "new version", commits_behind: 2)
dashboard_data = described_class.new
expect(dashboard_data.out_of_date_themes).to eq(
I18n.t("dashboard.out_of_date_themes") + "<ul><li><a href=\"/admin/customize/themes/#{theme.id}\">Test&lt; Theme</a></li></ul>"
I18n.t("dashboard.out_of_date_themes") +
"<ul><li><a href=\"/admin/customize/themes/#{theme.id}\">Test&lt; Theme</a></li></ul>",
)
remote.update!(local_version: "new version", commits_behind: 0)
@ -321,14 +322,20 @@ RSpec.describe AdminDashboardData do
end
end
describe '#unreachable_themes' do
let(:remote) { RemoteTheme.create!(remote_url: "https://github.com/org/testtheme", last_error_text: "can't reach repo :'(") }
describe "#unreachable_themes" do
let(:remote) do
RemoteTheme.create!(
remote_url: "https://github.com/org/testtheme",
last_error_text: "can't reach repo :'(",
)
end
let!(:theme) { Fabricate(:theme, remote_theme: remote, name: "Test< Theme") }
it "outputs correctly formatted html" do
dashboard_data = described_class.new
expect(dashboard_data.unreachable_themes).to eq(
I18n.t("dashboard.unreachable_themes") + "<ul><li><a href=\"/admin/customize/themes/#{theme.id}\">Test&lt; Theme</a></li></ul>"
I18n.t("dashboard.unreachable_themes") +
"<ul><li><a href=\"/admin/customize/themes/#{theme.id}\">Test&lt; Theme</a></li></ul>",
)
remote.update!(last_error_text: nil)