diff options
Diffstat (limited to 'spec/models/hooks/service_hook_spec.rb')
-rw-r--r-- | spec/models/hooks/service_hook_spec.rb | 26 |
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' } } |