Browse Source

Fix hashtag search performing account search as well (#13758)

ThibG 4 years ago
parent
commit
27ea7c13a5
2 changed files with 9 additions and 1 deletions
  1. 1 1
      app/services/search_service.rb
  2. 8 0
      spec/services/search_service_spec.rb

+ 1 - 1
app/services/search_service.rb

@@ -94,7 +94,7 @@ class SearchService < BaseService
   end
 
   def account_searchable?
-    account_search? && !(@query.include?('@') && @query.include?(' '))
+    account_search? && !(@query.start_with?('#') || (@query.include?('@') && @query.include?(' ')))
   end
 
   def hashtag_searchable?

+ 8 - 0
spec/services/search_service_spec.rb

@@ -91,6 +91,14 @@ describe SearchService, type: :service do
           expect(Tag).not_to have_received(:search_for)
           expect(results).to eq empty_results
         end
+        it 'does not include account when starts with # character' do
+          query = '#tag'
+          allow(AccountSearchService).to receive(:new)
+
+          results = subject.call(query, nil, 10)
+          expect(AccountSearchService).to_not have_received(:new)
+          expect(results).to eq empty_results
+        end
       end
     end
   end