From 8ba5397f0df4139ebc437b55c14e68164039eafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Wed, 18 Nov 2015 21:06:59 +0100 Subject: [PATCH] can't find staged users with search --- lib/search.rb | 5 +++-- spec/components/search_spec.rb | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/search.rb b/lib/search.rb index 91704cc7da4..1cfebb1348a 100644 --- a/lib/search.rb +++ b/lib/search.rb @@ -243,7 +243,7 @@ class Search end advanced_filter(/user:(.+)/) do |posts,match| - user_id = User.where('username_lower = ? OR id = ?', match.downcase, match.to_i).pluck(:id).first + user_id = User.where(staged: false).where('username_lower = ? OR id = ?', match.downcase, match.to_i).pluck(:id).first if user_id posts.where("posts.user_id = #{user_id}") else @@ -383,7 +383,8 @@ class Search users = User.includes(:user_search_data) .references(:user_search_data) - .where("active = TRUE") + .where(active: true) + .where(staged: false) .where("user_search_data.search_data @@ #{ts_query("simple")}") .order("CASE WHEN username_lower = '#{@original_term.downcase}' THEN 0 ELSE 1 END") .order("last_posted_at DESC") diff --git a/spec/components/search_spec.rb b/spec/components/search_spec.rb index 093aeb766f4..cb01e302ceb 100644 --- a/spec/components/search_spec.rb +++ b/spec/components/search_spec.rb @@ -111,6 +111,15 @@ describe Search do end end + context 'staged users' do + let(:staged) { Fabricate(:staged) } + let(:result) { Search.execute(staged.username) } + + it 'does not return a result' do + expect(result.users.length).to eq(0) + end + end + context 'private messages' do let(:topic) { @@ -403,6 +412,7 @@ describe Search do expect(Search.execute('user:nobody').posts.length).to eq(0) expect(Search.execute("user:#{_post.user.username}").posts.length).to eq(1) + expect(Search.execute("user:#{_post.user_id}").posts.length).to eq(1) end it 'supports group' do