trabajo-afectivo/spec/db/migrate/issue_3372_webhooks_admin_view_spec.rb

47 lines
1.3 KiB
Ruby
Raw Normal View History

2022-01-01 13:38:12 +00:00
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
require 'rails_helper'
RSpec.describe Issue3372WebhooksAdminView, type: :db_migration do
let(:trigger_webhook_config) do
{
'endpoint' => 'https://example.com/webhook',
'token' => '53Cr3T',
'verify_ssl' => false,
}
end
let(:webhook_attributes) do
{
endpoint: trigger_webhook_config['endpoint'],
signature_token: trigger_webhook_config['token'],
ssl_verify: trigger_webhook_config['verify_ssl'],
}
end
let!(:trigger) do
Trigger.without_callback(:create, :before, :validate_perform) do
create(:trigger, perform: {
'notification.webhook' => trigger_webhook_config
})
end
end
it 'Creates Webhook object from mapped Trigger configuration' do
migrate do |migration|
allow(migration).to receive(:create_webhooks_table)
end
expect(Webhook.last).to have_attributes(**webhook_attributes)
end
it 'Migrates Trigger#perform Webhook configuration to new structure' do
migrate do |migration|
allow(migration).to receive(:create_webhooks_table)
end
expect(trigger.reload.perform['notification.webhook']['webhook_id']).to eq(Webhook.last.id)
end
end