Commit 6755d9908f95c12fcce422ffcbfc10bda9473104

Authored by Dmitriy Zaporozhets
2 parents 147b93ee fce22dfa

Merge pull request #3196 from Undev/feature/broken-projects-search-23049

Broken projects search on dashboard
app/controllers/dashboard_controller.rb
... ... @@ -34,6 +34,7 @@ class DashboardController < ApplicationController
34 34 @projects
35 35 end
36 36  
  37 + @projects = @projects.search(params[:search]) if params[:search].present?
37 38 @projects = @projects.page(params[:page]).per(30)
38 39 end
39 40  
... ...
app/views/dashboard/_filter.html.haml
1 1 = form_tag dashboard_filter_path(entity), method: 'get' do
2 2 %fieldset.dashboard-search-filter
3   - = search_field_tag "search", params[:search], { placeholder: 'Search', class: 'search-text-input' }
  3 + = search_field_tag "search", params[:search], { id: 'filter_search', placeholder: 'Search', class: 'search-text-input' }
4 4 = button_tag type: 'submit', class: 'btn' do
5 5 %i.icon-search
6 6  
... ...
app/views/dashboard/projects.html.haml
... ... @@ -24,7 +24,7 @@
24 24 = form_tag projects_dashboard_path, method: 'get' do
25 25 %fieldset.dashboard-search-filter
26 26 = hidden_field_tag "scope", params[:scope]
27   - = search_field_tag "search", params[:search], { placeholder: 'Search', class: 'left input-xxlarge' }
  27 + = search_field_tag "search", params[:search], { id: 'dashboard_projects_search', placeholder: 'Search', class: 'left input-xxlarge'}
28 28 = button_tag type: 'submit', class: 'btn' do
29 29 %i.icon-search
30 30  
... ...
features/dashboard/projects.feature
1   -Feature: Dashboard
  1 +Feature: Dashboard projects
2 2 Background:
3 3 Given I sign in as a user
4 4 And I own project "Shop"
5 5 And I visit dashboard projects page
6 6  
7   - Scenario: I should see issues list
  7 + Scenario: I should see projects list
8 8 Then I should see projects list
  9 +
  10 + Scenario: I should see project I am looking for
  11 + Given I search for "Sho"
  12 + Then I should see "Shop" project link
... ...
features/steps/dashboard/dashboard_projects.rb 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +class Dashboard < Spinach::FeatureSteps
  2 + include SharedAuthentication
  3 + include SharedPaths
  4 + include SharedProject
  5 +
  6 + Then 'I should see projects list' do
  7 + @user.authorized_projects.all.each do |project|
  8 + page.should have_link project.name_with_namespace
  9 + end
  10 + end
  11 +
  12 + Given 'I search for "Sho"' do
  13 + fill_in "dashboard_projects_search", with: "Sho"
  14 +
  15 + within ".dashboard-search-filter" do
  16 + find('button').click
  17 + end
  18 + end
  19 +
  20 + Then 'I should see "Shop" project link' do
  21 + page.should have_link "Shop"
  22 + end
  23 +end
... ...
features/steps/shared/project.rb
... ... @@ -9,7 +9,8 @@ module SharedProject
9 9  
10 10 # Create a specific project called "Shop"
11 11 And 'I own project "Shop"' do
12   - @project = create(:project, name: "Shop")
  12 + @project = Project.find_by_name "Shop"
  13 + @project ||= create(:project, name: "Shop")
13 14 @project.team << [@user, :master]
14 15 end
15 16  
... ...