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
return result unless query.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)
result[:blobs] = blobs
result[:total_results] = blobs.total_count
......
......@@ -9,8 +9,11 @@
.search_results
- if params[:search_code].present?
.blob-results
= render partial: "search/results/blob", collection: @search_results[:blobs]
= paginate @search_results[:blobs], theme: 'gitlab'
- if !@search_results[:blobs].empty?
= 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
%ul.bordered-list
= render partial: "search/results/merge_request", collection: @search_results[:merge_requests]
......
Feature: Project Search code
Background:
Given I sign in as a user
And I own project "Shop"
Given I visit project source page
Scenario: Search for term "coffee"
Given I own project "Shop"
And I visit project source page
When I search for term "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
include SharedProject
include SharedPaths
When 'I search for term "coffee"' do
step 'I search for term "coffee"' do
fill_in "search", with: "coffee"
click_button "Go"
click_link 'Repository Code'
end
Then 'I should see files from repository containing "coffee"' do
page.should have_content "coffee"
page.should have_content " CONTRIBUTING.md"
step 'I should see files from repository containing "coffee"' do
page.should have_content 'coffee'
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
......@@ -21,6 +21,13 @@ module SharedProject
@project.team << [@user, :master]
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
@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