Commit 47e7cefd5c7c5b301507e9cbf0dcb04b15d8e219

Authored by Stephen Crosby
2 parents f7792c26 9c94b7db
Exists in master and in 1 other branch production

Merge pull request #747 from robinboening/feature/date_filter

Render partial for problems/search form and add specs
app/views/apps/show.html.haml
... ... @@ -88,8 +88,7 @@
88 88 - if app.problems.any?
89 89 %h3.clear=t('.errors')
90 90 %section
91   - = form_tag search_problems_path(:all_errs => all_errs, :app_id => app.id), :method => :get, :remote => true do
92   - = text_field_tag :search, params[:search], :placeholder => t('.search_placeholder')
  91 + = render 'problems/search', :all_errs => @all_errs, :app_id => app.id
93 92 %br
94 93 %section
95 94 .problem_table{:id => 'problem_table'}
... ...
app/views/problems/_search.html.haml 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 += form_tag search_problems_path(:all_errs => all_errs, :app_id => app_id), :method => :get, :remote => true do
  2 + = text_field_tag :search, params[:search], :placeholder => t('.search_placeholder')
... ...
app/views/problems/index.html.haml
... ... @@ -9,8 +9,7 @@
9 9 = link_to 'show resolved', problems_path(:all_errs => true), :class => 'button'
10 10  
11 11 %section
12   - = form_tag search_problems_path(:all_errs => @all_errs), :method => :get, :remote => true do
13   - = text_field_tag :search, params[:search], :placeholder => 'Search for issues'
  12 + = render 'problems/search', :all_errs => @all_errs, :app_id => nil
14 13 %br
15 14 %section
16 15 #problem_table.problem_table
... ...
config/locales/en.yml
... ... @@ -77,6 +77,8 @@ en:
77 77 merge: "Merge select issues? They can be unmerged later."
78 78 unmerge: "Unmerge selected issues? They can be re-merged later."
79 79 unresolve: "Unresolve selected issues? They can be resolved again later."
  80 + search:
  81 + search_placeholder: 'Search for issues'
80 82  
81 83 comments:
82 84 confirm_delete: "Permanently delete this comment?"
... ... @@ -118,7 +120,6 @@ en:
118 120 no_watcher: "Sadly, no one is watching this app"
119 121 repository: Repository
120 122 revision: Revision
121   - search_placeholder: 'Search for issues'
122 123 show_hide: "(show/hide)"
123 124 unresolved_errs: unresolved errs
124 125 unwatch: unwatch
... ...
spec/controllers/problems_controller_spec.rb
... ... @@ -123,6 +123,31 @@ describe ProblemsController do
123 123 end
124 124 end
125 125  
  126 + describe "GET /problems/search" do
  127 + before do
  128 + sign_in Fabricate(:admin)
  129 + @app = Fabricate(:app)
  130 + @problem1 = Fabricate(:problem, :app=>@app, message: "Most important")
  131 + @problem2 = Fabricate(:problem, :app=>@app, message: "Very very important")
  132 + end
  133 +
  134 + it "renders successfully" do
  135 + get :search
  136 + expect(response).to be_success
  137 + end
  138 +
  139 + it "renders index template" do
  140 + get :search
  141 + expect(response).to render_template('problems/index')
  142 + end
  143 +
  144 + it "searches problems for given string" do
  145 + get :search, :search => "Most important"
  146 + expect(controller.problems).to include(@problem1)
  147 + expect(controller.problems).to_not include(@problem2)
  148 + end
  149 + end
  150 +
126 151 describe "GET /apps/:app_id/problems/:id" do
127 152 #render_views
128 153  
... ...