From 9f8ac219fb4645b898296754eefceda2da25a6ff Mon Sep 17 00:00:00 2001 From: Maciej Mensfeld Date: Tue, 21 May 2024 11:45:07 +0200 Subject: [PATCH] missing specs --- lib/karafka/web/contracts/config.rb | 1 + spec/lib/karafka/web/contracts/config_spec.rb | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/karafka/web/contracts/config.rb b/lib/karafka/web/contracts/config.rb index 651f9e04..f6113df8 100644 --- a/lib/karafka/web/contracts/config.rb +++ b/lib/karafka/web/contracts/config.rb @@ -57,6 +57,7 @@ class Config < Web::Contracts::Base required(:cache) { |val| !val.nil? } required(:per_page) { |val| val.is_a?(Integer) && val >= 1 && val <= 100 } + required(:max_visible_payload_size) { |val| val.is_a?(Integer) && val >= 1 } required(:dlq_patterns) do |val| val.is_a?(Array) && diff --git a/spec/lib/karafka/web/contracts/config_spec.rb b/spec/lib/karafka/web/contracts/config_spec.rb index 1636c679..9ccdd860 100644 --- a/spec/lib/karafka/web/contracts/config_spec.rb +++ b/spec/lib/karafka/web/contracts/config_spec.rb @@ -46,7 +46,8 @@ }, cache: Object.new, per_page: 50, - dlq_patterns: [] + dlq_patterns: [], + max_visible_payload_size: 100 } } end @@ -206,6 +207,18 @@ it { expect(contract.call(params)).not_to be_success } end + context 'when max_visible_payload_size is not an integer' do + before { params[:ui][:max_visible_payload_size] = '1' } + + it { expect(contract.call(params)).not_to be_success } + end + + context 'when max_visible_payload_size is less than 1' do + before { params[:ui][:max_visible_payload_size] = 0 } + + it { expect(contract.call(params)).not_to be_success } + end + context 'when dlq_patterns is not an array' do before { params[:ui][:dlq_patterns] = '1' }