Added `issuable_filters_present` to check for active filters before rendering the reset button

Added tests
This commit is contained in:
Luke Bennett 2016-09-23 15:18:33 +01:00
parent 49d6ca6267
commit 443619300d
No known key found for this signature in database
GPG Key ID: A738E9C68D3BF31A
3 changed files with 15 additions and 2 deletions

View File

@ -124,6 +124,10 @@ module IssuablesHelper
end end
end end
def issuable_filters_present
params[:search] || params[:author_id] || params[:assignee_id] || params[:milestone_title] || params[:label_name]
end
def issuables_count_for_state(issuable_type, state) def issuables_count_for_state(issuable_type, state)
issuables_finder = public_send("#{issuable_type}_finder") issuables_finder = public_send("#{issuable_type}_finder")
issuables_finder.params[:state] = state issuables_finder.params[:state] = state

View File

@ -29,8 +29,9 @@
.filter-item.inline.labels-filter .filter-item.inline.labels-filter
= render "shared/issuable/label_dropdown", selected: finder.labels.select(:title).uniq, use_id: false, selected_toggle: params[:label_name], data_options: { field_name: "label_name[]" } = render "shared/issuable/label_dropdown", selected: finder.labels.select(:title).uniq, use_id: false, selected_toggle: params[:label_name], data_options: { field_name: "label_name[]" }
.filter-item.inline.reset-filters - if issuable_filters_present
%a{href: page_filter_path(without: [:assignee_id, :author_id, :milestone_title, :label_name, :search])} Reset filters .filter-item.inline.reset-filters
%a{href: page_filter_path(without: [:assignee_id, :author_id, :milestone_title, :label_name, :search])} Reset filters
.pull-right .pull-right
- if boards_page - if boards_page

View File

@ -75,6 +75,14 @@ feature 'Issues filter reset button', feature: true, js: true do
end end
end end
context 'when no filters have been applied' do
it 'the reset link should not be visible' do
visit_issues(project)
expect(page).to have_css('.issue', count: 2)
expect(page).not_to have_css '.reset_filters'
end
end
def reset_filters def reset_filters
find('.reset-filters').click find('.reset-filters').click
end end