Skip to content

Commit

Permalink
Fix bad search type heuristic (#26673)
Browse files Browse the repository at this point in the history
  • Loading branch information
Gargron committed Aug 28, 2023
1 parent 0cce7fb commit 2304cc6
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 17 deletions.
14 changes: 6 additions & 8 deletions app/services/search_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def call(query, account, limit, options = {})
results.merge!(url_resource_results) unless url_resource.nil? || @offset.positive? || (@options[:type].present? && url_resource_symbol != @options[:type].to_sym)
elsif @query.present?
results[:accounts] = perform_accounts_search! if account_searchable?
results[:statuses] = perform_statuses_search! if full_text_searchable?
results[:statuses] = perform_statuses_search! if status_searchable?
results[:hashtags] = perform_hashtags_search! if hashtag_searchable?
end
end
Expand Down Expand Up @@ -79,18 +79,16 @@ def url_resource_symbol
url_resource.class.name.downcase.pluralize.to_sym
end

def full_text_searchable?
return false unless Chewy.enabled?

statuses_search? && !@account.nil? && !(@query.include?('@') && !@query.include?(' '))
def status_searchable?
Chewy.enabled? && status_search? && @account.present?
end

def account_searchable?
account_search? && !(@query.include?('@') && @query.include?(' '))
account_search?
end

def hashtag_searchable?
hashtag_search? && !@query.include?('@')
hashtag_search?
end

def account_search?
Expand All @@ -101,7 +99,7 @@ def hashtag_search?
@options[:type].blank? || @options[:type] == 'hashtags'
end

def statuses_search?
def status_search?
@options[:type].blank? || @options[:type] == 'statuses'
end
end
9 changes: 0 additions & 9 deletions spec/services/search_service_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,6 @@
expect(Tag).to have_received(:search_for).with('tag', 10, 0, exclude_unreviewed: nil)
expect(results).to eq empty_results.merge(hashtags: [tag])
end

it 'does not include tag when starts with @ character' do
query = '@username'
allow(Tag).to receive(:search_for)

results = subject.call(query, nil, 10)
expect(Tag).to_not have_received(:search_for)
expect(results).to eq empty_results
end
end
end
end
Expand Down

0 comments on commit 2304cc6

Please sign in to comment.