Commit da7e14c8 authored by Robert Schilling's avatar Robert Schilling

fix searching on empty project, prevent 500

Fix hound
parent 9d3e384a
...@@ -12,7 +12,13 @@ module Search ...@@ -12,7 +12,13 @@ module Search
return result unless query.present? return result unless query.present?
if params[:search_code].present? if params[:search_code].present?
blobs = project.repository.search_files(query, params[:repository_ref]) unless project.empty_repo? if !@project.empty_repo?
blobs = project.repository.search_files(query,
params[:repository_ref])
else
blobs = Array.new
end
blobs = Kaminari.paginate_array(blobs).page(params[:page]).per(20) blobs = Kaminari.paginate_array(blobs).page(params[:page]).per(20)
result[:blobs] = blobs result[:blobs] = blobs
result[:total_results] = blobs.total_count result[:total_results] = blobs.total_count
......
...@@ -9,8 +9,11 @@ ...@@ -9,8 +9,11 @@
.search_results .search_results
- if params[:search_code].present? - if params[:search_code].present?
.blob-results .blob-results
= render partial: "search/results/blob", collection: @search_results[:blobs] - if !@search_results[:blobs].empty?
= paginate @search_results[:blobs], theme: 'gitlab' = render partial: "search/results/blob", collection: @search_results[:blobs]
= paginate @search_results[:blobs], theme: 'gitlab'
- else
%span We couldn't find any matching code
- else - else
%ul.bordered-list %ul.bordered-list
= render partial: "search/results/merge_request", collection: @search_results[:merge_requests] = render partial: "search/results/merge_request", collection: @search_results[:merge_requests]
......
Feature: Project Search code Feature: Project Search code
Background: Background:
Given I sign in as a user Given I sign in as a user
And I own project "Shop"
Given I visit project source page
Scenario: Search for term "coffee" Scenario: Search for term "coffee"
Given I own project "Shop"
And I visit project source page
When I search for term "coffee" When I search for term "coffee"
Then I should see files from repository containing "coffee" Then I should see files from repository containing "coffee"
Scenario: Search on empty project
Given I own an empty project
And I visit my project's home page
When I search for term "coffee"
Then I should see empty result
...@@ -3,14 +3,18 @@ class ProjectSearchCode < Spinach::FeatureSteps ...@@ -3,14 +3,18 @@ class ProjectSearchCode < Spinach::FeatureSteps
include SharedProject include SharedProject
include SharedPaths include SharedPaths
When 'I search for term "coffee"' do step 'I search for term "coffee"' do
fill_in "search", with: "coffee" fill_in "search", with: "coffee"
click_button "Go" click_button "Go"
click_link 'Repository Code' click_link 'Repository Code'
end end
Then 'I should see files from repository containing "coffee"' do step 'I should see files from repository containing "coffee"' do
page.should have_content "coffee" page.should have_content 'coffee'
page.should have_content " CONTRIBUTING.md" page.should have_content 'CONTRIBUTING.md'
end
step 'I should see empty result' do
page.should have_content "We couldn't find any matching code"
end end
end end
...@@ -21,6 +21,13 @@ module SharedProject ...@@ -21,6 +21,13 @@ module SharedProject
@project.team << [@user, :master] @project.team << [@user, :master]
end end
# Create an empty project without caring about the name
And 'I own an empty project' do
@project = create(:empty_project,
name: 'Empty Project', namespace: @user.namespace)
@project.team << [@user, :master]
end
And 'project "Shop" has push event' do And 'project "Shop" has push event' do
@project = Project.find_by(name: "Shop") @project = Project.find_by(name: "Shop")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment