accepts .all
as a hook scope as well
This commit is contained in:
parent
a78abf3a00
commit
a63792b724
2 changed files with 11 additions and 2 deletions
|
@ -18,7 +18,8 @@ module TriggerableHooks
|
|||
attr_reader :triggerable_hooks
|
||||
|
||||
def hooks_for(trigger)
|
||||
return none unless self::TRIGGERS.keys.include?(trigger)
|
||||
callable_scopes = self::TRIGGERS.keys + [:all]
|
||||
return none unless callable_scopes.include?(trigger)
|
||||
|
||||
public_send(trigger) # rubocop:disable GitlabSecurity/PublicSend
|
||||
end
|
||||
|
|
|
@ -26,10 +26,18 @@ RSpec.describe TriggerableHooks do
|
|||
|
||||
context 'the model does not have the required trigger scope' do
|
||||
it 'returns an empty relation' do
|
||||
TestableHook.create!(url: 'http://example.com', push_events: true)
|
||||
TestableHook.create!(url: 'http://example.com')
|
||||
|
||||
expect(TestableHook.hooks_for(:tag_push_hooks)).to eq []
|
||||
end
|
||||
end
|
||||
|
||||
context 'the stock scope ".all" is accepted' do
|
||||
it 'returns the record' do
|
||||
hook = TestableHook.create!(url: 'http://example.com')
|
||||
|
||||
expect(TestableHook.hooks_for(:all)).to eq [hook]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue