2024-02-23 11:20:32 +08:00
|
|
|
# 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 }
|
2024-03-14 10:55:01 +08:00
|
|
|
RealtimeCheck = Class.new(described_class)
|
2024-02-23 11:20:32 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
after(:all) do
|
|
|
|
Object.send(:remove_const, ScheduledCheck.name)
|
2024-03-14 10:55:01 +08:00
|
|
|
Object.send(:remove_const, RealtimeCheck.name)
|
2024-02-23 11:20:32 +08:00
|
|
|
end
|
|
|
|
# rubocop:enable RSpec/BeforeAfterAll
|
|
|
|
|
|
|
|
let(:scheduled_check) { ScheduledCheck }
|
2024-03-14 10:55:01 +08:00
|
|
|
let(:realtime_check) { RealtimeCheck }
|
2024-02-23 11:20:32 +08:00
|
|
|
|
|
|
|
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
|
2024-03-14 10:55:01 +08:00
|
|
|
it { expect(described_class.checks).to include(scheduled_check, realtime_check) }
|
2024-02-23 11:20:32 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
describe ".scheduled" do
|
2024-02-26 12:08:12 +08:00
|
|
|
it { expect(described_class.scheduled).to include(scheduled_check) }
|
2024-03-14 10:55:01 +08:00
|
|
|
it { expect(described_class.scheduled).not_to include(realtime_check) }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe ".realtime" do
|
|
|
|
it { expect(described_class.realtime).to include(realtime_check) }
|
|
|
|
it { expect(described_class.realtime).not_to include(scheduled_check) }
|
2024-02-23 11:20:32 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
describe ".scheduled?" do
|
|
|
|
it { expect(scheduled_check).to be_scheduled }
|
2024-03-14 10:55:01 +08:00
|
|
|
it { expect(realtime_check).to_not be_scheduled }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe ".realtime?" do
|
|
|
|
it { expect(realtime_check).to be_realtime }
|
|
|
|
it { expect(scheduled_check).to_not be_realtime }
|
2024-02-23 11:20:32 +08:00
|
|
|
end
|
|
|
|
end
|