summaryrefslogtreecommitdiff
path: root/spec/models/hooks/service_hook_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/hooks/service_hook_spec.rb')
-rw-r--r--spec/models/hooks/service_hook_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/models/hooks/service_hook_spec.rb b/spec/models/hooks/service_hook_spec.rb
index 68c284a913c..2ece04c7158 100644
--- a/spec/models/hooks/service_hook_spec.rb
+++ b/spec/models/hooks/service_hook_spec.rb
@@ -11,6 +11,32 @@ RSpec.describe ServiceHook do
it { is_expected.to validate_presence_of(:integration) }
end
+ describe 'executable?' do
+ let!(:hooks) do
+ [
+ [0, Time.current],
+ [0, 1.minute.from_now],
+ [1, 1.minute.from_now],
+ [3, 1.minute.from_now],
+ [4, nil],
+ [4, 1.day.ago],
+ [4, 1.minute.from_now],
+ [0, nil],
+ [0, 1.day.ago],
+ [1, nil],
+ [1, 1.day.ago],
+ [3, nil],
+ [3, 1.day.ago]
+ ].map do |(recent_failures, disabled_until)|
+ create(:service_hook, recent_failures: recent_failures, disabled_until: disabled_until)
+ end
+ end
+
+ it 'is always true' do
+ expect(hooks).to all(be_executable)
+ end
+ end
+
describe 'execute' do
let(:hook) { build(:service_hook) }
let(:data) { { key: 'value' } }