diff options
-rw-r--r-- | app/views/projects/labels/index.html.haml | 2 | ||||
-rw-r--r-- | spec/features/projects/labels/search_labels_spec.rb | 37 |
2 files changed, 38 insertions, 1 deletions
diff --git a/app/views/projects/labels/index.html.haml b/app/views/projects/labels/index.html.haml index 6dca035ca28..95aa35bd70b 100644 --- a/app/views/projects/labels/index.html.haml +++ b/app/views/projects/labels/index.html.haml @@ -18,7 +18,7 @@ = _('Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging.') = form_tag project_labels_path(@project), method: :get do - = search_field_tag :search, params[:search], { placeholder: _('Filter labels by name or description'), class: 'form-control', spellcheck: false } + = search_field_tag :search, params[:search], { placeholder: _('Filter labels by name or description'), id: 'label-search', class: 'form-control', spellcheck: false } .labels-container.prepend-top-10 - if can_admin_label diff --git a/spec/features/projects/labels/search_labels_spec.rb b/spec/features/projects/labels/search_labels_spec.rb new file mode 100644 index 00000000000..dc15729190d --- /dev/null +++ b/spec/features/projects/labels/search_labels_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +describe 'Search for labels', :js do + let(:user) { create(:user) } + let(:project) { create(:project) } + let!(:label1) { create(:label, title: 'Foo', description: 'Lorem ipsum', project: project) } + let!(:label2) { create(:label, title: 'Bar', description: 'Fusce consequat', project: project) } + + before do + project.add_maintainer(user) + sign_in(user) + end + + it 'searches for label by title' do + visit project_labels_path(project) + + fill_in 'label-search', with: 'Bar' + find('#label-search').native.send_keys(:enter) + + expect(page).to have_content(label2.title) + expect(page).to have_content(label2.description) + expect(page).not_to have_content(label1.title) + expect(page).not_to have_content(label1.description) + end + + it 'searches for label by title' do + visit project_labels_path(project) + + fill_in 'label-search', with: 'Lorem' + find('#label-search').native.send_keys(:enter) + + expect(page).to have_content(label1.title) + expect(page).to have_content(label1.description) + expect(page).not_to have_content(label2.title) + expect(page).not_to have_content(label2.description) + end +end |