Add administrative webhooks (#18510)
* Add administrative webhooks * Fix error when webhook is deleted before delivery worker runs
This commit is contained in:
5
spec/fabricators/webhook_fabricator.rb
Normal file
5
spec/fabricators/webhook_fabricator.rb
Normal file
@ -0,0 +1,5 @@
|
||||
Fabricator(:webhook) do
|
||||
url { Faker::Internet.url }
|
||||
secret { SecureRandom.hex }
|
||||
events { Webhook::EVENTS }
|
||||
end
|
32
spec/models/webhook_spec.rb
Normal file
32
spec/models/webhook_spec.rb
Normal file
@ -0,0 +1,32 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Webhook, type: :model do
|
||||
let(:webhook) { Fabricate(:webhook) }
|
||||
|
||||
describe '#rotate_secret!' do
|
||||
it 'changes the secret' do
|
||||
previous_value = webhook.secret
|
||||
webhook.rotate_secret!
|
||||
expect(webhook.secret).to_not be_blank
|
||||
expect(webhook.secret).to_not eq previous_value
|
||||
end
|
||||
end
|
||||
|
||||
describe '#enable!' do
|
||||
before do
|
||||
webhook.disable!
|
||||
end
|
||||
|
||||
it 'enables the webhook' do
|
||||
webhook.enable!
|
||||
expect(webhook.enabled?).to be true
|
||||
end
|
||||
end
|
||||
|
||||
describe '#disable!' do
|
||||
it 'disables the webhook' do
|
||||
webhook.disable!
|
||||
expect(webhook.enabled?).to be false
|
||||
end
|
||||
end
|
||||
end
|
@ -19,7 +19,7 @@ RSpec.describe URLValidator, type: :validator do
|
||||
let(:compliant) { false }
|
||||
|
||||
it 'calls errors.add' do
|
||||
expect(errors).to have_received(:add).with(attribute, I18n.t('applications.invalid_url'))
|
||||
expect(errors).to have_received(:add).with(attribute, :invalid)
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user