Skip to content
Extraits de code Groupes Projets
search_controller_spec.rb 1,39 ko
Newer Older
  • Learn to ignore specific revisions
  • 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
    
      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