diff --git a/lib/check_search.rb b/lib/check_search.rb index 509570c82..cedbe5c67 100644 --- a/lib/check_search.rb +++ b/lib/check_search.rb @@ -22,6 +22,7 @@ def initialize(options, file = nil, team_id = Team.current&.id) @options['esoffset'] ||= 0 adjust_es_window_size + adjust_show_filter adjust_channel_filter adjust_numeric_range_filter adjust_archived_filter @@ -429,6 +430,13 @@ def adjust_channel_filter end end + def adjust_show_filter + if @options['show'].is_a?(Array) && @options['show'].include?('social_media') + @options['show'].concat(%w[twitter youtube tiktok instagram facebook telegram]).delete('social_media') + @options['show'].uniq! + end + end + def adjust_numeric_range_filter @options['range_numeric'] = {} [:linked_items_count, :suggestions_count, :demand, :positive_tipline_search_results_count, :negative_tipline_search_results_count, :tags_as_sentence].each do |field| diff --git a/test/lib/check_search_test.rb b/test/lib/check_search_test.rb index 8a59c5bd2..b23b93be2 100644 --- a/test/lib/check_search_test.rb +++ b/test/lib/check_search_test.rb @@ -26,4 +26,9 @@ def teardown search = CheckSearch.new({ users: [1, nil] }.to_json, nil, @team.id) assert_not_nil search.send(:doc_conditions) end + + test "should adjust social media filter" do + search = CheckSearch.new({ show: ['social_media', 'images'] }.to_json, nil, @team.id) + assert_equal ['images', 'twitter', 'youtube', 'tiktok', 'instagram', 'facebook', 'telegram'].sort, search.instance_variable_get('@options')['show'].sort + end end