Skip to content

Commit 44df4ed

Browse files
committed
added valid_source_type? search helper method & tests
1 parent 5b51da5 commit 44df4ed

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

app/helpers/search_helper.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def params_to_qualifiers(params)
110110
filter_qualifiers.append({ param: :status, value: params[:status] })
111111
end
112112

113-
if SOURCE_TYPES.include?(params[:source]&.to_sym)
113+
if valid_source_type?(params[:source])
114114
filter_qualifiers.append({ param: :source, value: params[:source].to_sym })
115115
end
116116

@@ -243,4 +243,11 @@ def qualifiers_to_sql(qualifiers, query, user)
243243

244244
query
245245
end
246+
247+
# Is a given param a valid source type?
248+
# @param param [String, Symbol, nil] parameter to check
249+
# @return [Boolean] check result
250+
def valid_source_type?(param)
251+
SOURCE_TYPES.include?(param&.to_sym)
252+
end
246253
end

test/helpers/search_helper_test.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,14 @@ class SearchHelperTest < ActionView::TestCase
235235

236236
assert_not(posts.any? { |p| p.category.id == admin_category.id })
237237
end
238+
239+
test 'valid_source_type? should correctly determine if the param is valid' do
240+
SearchHelper::SOURCE_TYPES.each do |type|
241+
assert valid_source_type?(type)
242+
end
243+
244+
['external', :source, nil].each do |invalid|
245+
assert_not valid_source_type?(invalid)
246+
end
247+
end
238248
end

0 commit comments

Comments
 (0)