chore: Increase character limit for external url fields (#7230)

- Increase the external url field validation to 2048 characters

fixes: https://github.com/chatwoot/chatwoot/issues/7098
This commit is contained in:
Sojan Jose
2023-05-31 19:17:24 +05:30
committed by GitHub
parent 373f5f5b64
commit d93a8d05bc
7 changed files with 45 additions and 4 deletions

View File

@@ -12,4 +12,19 @@ RSpec.describe AgentBot do
it_behaves_like 'access_tokenable'
it_behaves_like 'avatarable'
end
context 'when it validates outgoing_url length' do
let(:agent_bot) { create(:agent_bot) }
it 'valid when within limit' do
agent_bot.outgoing_url = 'a' * Limits::URL_LENGTH_LIMIT
expect(agent_bot.valid?).to be true
end
it 'invalid when crossed the limit' do
agent_bot.outgoing_url = 'a' * (Limits::URL_LENGTH_LIMIT + 1)
agent_bot.valid?
expect(agent_bot.errors[:outgoing_url]).to include("is too long (maximum is #{Limits::URL_LENGTH_LIMIT} characters)")
end
end
end

View File

@@ -11,14 +11,14 @@ RSpec.describe Attachment do
context 'when it validates external url length' do
it 'valid when within limit' do
attachment.external_url = 'a' * 1000
attachment.external_url = 'a' * Limits::URL_LENGTH_LIMIT
expect(attachment.valid?).to be true
end
it 'invalid when crossed the limit' do
attachment.external_url = 'a' * 1500
attachment.external_url = 'a' * (Limits::URL_LENGTH_LIMIT + 5)
attachment.valid?
expect(attachment.errors[:external_url]).to include('is too long (maximum is 1000 characters)')
expect(attachment.errors[:external_url]).to include("is too long (maximum is #{Limits::URL_LENGTH_LIMIT} characters)")
end
end
end

View File

@@ -0,0 +1,23 @@
# frozen_string_literal: true
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