diff --git a/app/models/check.rb b/app/models/check.rb index 296f57f..312e30e 100644 --- a/app/models/check.rb +++ b/app/models/check.rb @@ -76,6 +76,7 @@ class Check < ApplicationRecord return false if created_at > ERROR_DELAY_DAYS.days.ago return false if last_run_at.nil? return true if last_success_at.nil? + return false if last_run_at == last_success_at last_success_at < ERROR_DELAY_DAYS.days.ago end diff --git a/test/models/check_test.rb b/test/models/check_test.rb index 9606150..3da268e 100644 --- a/test/models/check_test.rb +++ b/test/models/check_test.rb @@ -84,6 +84,12 @@ class CheckTest < ActiveSupport::TestCase refute check.in_error? end + test "in_error? when last check occured a few days ago without error" do + check = build(:check, created_at: 3.weeks.ago, + last_success_at: 10.days.ago, last_run_at: 10.days.ago) + refute check.in_error? + end + test "days_from_last_success without any success" do check = build(:check) assert_nil check.days_from_last_success