require 'spec_helper' describe SearchController, :type => :controller do before do @user = alice @aspect = @user.aspects.first sign_in :user, @user end describe 'query is a person' do @lola = FactoryGirl.create(:person, :diaspora_handle => "lola@example.org", :profile => FactoryGirl.build(:profile, :first_name => "Lola", :last_name => "w", :searchable => false)) it 'goes to people index page' do get :search, :q => 'eugene' expect(response).to be_redirect end end describe 'query is a tag' do it 'goes to a tag page' do get :search, :q => '#cats' expect(response).to redirect_to(tag_path('cats')) end it 'removes dots from the query' do get :search, :q => '#cat.s' expect(response).to redirect_to(tag_path('cats')) end it 'stay on the page if you search for the empty hash' do get :search, :q => '#' expect(flash[:error]).to be_present end end describe '#search_query' do it 'strips the term parameter' do @controller.params[:term] = ' IN SPACE! ' expect(@controller.send(:search_query)).to eq 'IN SPACE!' end it 'strips the q parameter' do @controller.params[:q] = ' IN SPACE! ' expect(@controller.send(:search_query)).to eq 'IN SPACE!' end end end