# 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