about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-05-14 23:37:37 +0200
committerGitHub <noreply@github.com>2020-05-14 23:37:37 +0200
commit27ea7c13a554d41c4bd83a2712b711d2ef55629c (patch)
treeaa95b848b028d69fbb77a4e7233857096feada8d
parent71fce71c94b1e94ae3a7af17bfc141709b61c428 (diff)
Fix hashtag search performing account search as well (#13758)
-rw-r--r--app/services/search_service.rb2
-rw-r--r--spec/services/search_service_spec.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/app/services/search_service.rb b/app/services/search_service.rb
index 830de4de3..19500a8d4 100644
--- a/app/services/search_service.rb
+++ b/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?
diff --git a/spec/services/search_service_spec.rb b/spec/services/search_service_spec.rb
index 739bb9cf5..5b52662ba 100644
--- a/spec/services/search_service_spec.rb
+++ b/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