discourse/spec/lib/problem_check_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
RSpec.describe ProblemCheck do
# rubocop:disable RSpec/BeforeAfterAll
before(:all) do
ScheduledCheck = Class.new(described_class) { self.perform_every = 30.minutes }
UnscheduledCheck = Class.new(described_class)
end
after(:all) do
Object.send(:remove_const, ScheduledCheck.name)
Object.send(:remove_const, UnscheduledCheck.name)
end
# rubocop:enable RSpec/BeforeAfterAll
let(:scheduled_check) { ScheduledCheck }
let(:unscheduled_check) { UnscheduledCheck }
describe ".[]" do
it { expect(described_class[:scheduled_check]).to eq(scheduled_check) }
it { expect(described_class[:foo]).to eq(nil) }
end
describe ".identifier" do
it { expect(scheduled_check.identifier).to eq(:scheduled_check) }
end
describe ".checks" do
it { expect(described_class.checks).to include(scheduled_check, unscheduled_check) }
end
describe ".scheduled" do
it { expect(described_class.scheduled).to include(scheduled_check) }
it { expect(described_class.scheduled).not_to include(unscheduled_check) }
end
describe ".scheduled?" do
it { expect(scheduled_check).to be_scheduled }
it { expect(unscheduled_check).to_not be_scheduled }
end
end