43 lines
1.3 KiB
Ruby
Executable File
43 lines
1.3 KiB
Ruby
Executable File
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: channel_api
|
|
#
|
|
# id :bigint not null, primary key
|
|
# additional_attributes :jsonb
|
|
# hmac_mandatory :boolean default(FALSE)
|
|
# hmac_token :string
|
|
# identifier :string
|
|
# webhook_url :string
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# account_id :integer not null
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_channel_api_on_hmac_token (hmac_token) UNIQUE
|
|
# index_channel_api_on_identifier (identifier) UNIQUE
|
|
#
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe Channel::Api do
|
|
# This validation happens in ApplicationRecord
|
|
describe 'length validations' do
|
|
let(:channel_api) { create(:channel_api) }
|
|
|
|
context 'when it validates webhook_url length' do
|
|
it 'valid when within limit' do
|
|
channel_api.webhook_url = 'a' * Limits::URL_LENGTH_LIMIT
|
|
expect(channel_api.valid?).to be true
|
|
end
|
|
|
|
it 'invalid when crossed the limit' do
|
|
channel_api.webhook_url = 'a' * (Limits::URL_LENGTH_LIMIT + 1)
|
|
channel_api.valid?
|
|
expect(channel_api.errors[:webhook_url]).to include("is too long (maximum is #{Limits::URL_LENGTH_LIMIT} characters)")
|
|
end
|
|
end
|
|
end
|
|
end
|