Merge branch 'dashboard-filter-milestone' into 'master'
Fixed issue with dashboard/issues not filtering by milestone Closes #15128 See merge request !3650
This commit is contained in:
commit
4087bd16e8
2 changed files with 61 additions and 1 deletions
|
@ -85,15 +85,21 @@ class @MilestoneSelect
|
|||
# display:block overrides the hide-collapse rule
|
||||
$value.removeAttr('style')
|
||||
clicked: (selected) ->
|
||||
page = $('body').data 'page'
|
||||
isIssueIndex = page is 'projects:issues:index'
|
||||
isMRIndex = page is page is 'projects:merge_requests:index'
|
||||
|
||||
if $dropdown.hasClass 'js-filter-bulk-update'
|
||||
return
|
||||
|
||||
if $dropdown.hasClass('js-filter-submit')
|
||||
if $dropdown.hasClass('js-filter-submit') and (isIssueIndex or isMRIndex)
|
||||
if selected.name?
|
||||
selectedMilestone = selected.name
|
||||
else
|
||||
selectedMilestone = ''
|
||||
Issues.filterResults $dropdown.closest('form')
|
||||
else if $dropdown.hasClass('js-filter-submit')
|
||||
$dropdown.closest('form').submit()
|
||||
else
|
||||
selected = $selectbox
|
||||
.find('input[type="hidden"]')
|
||||
|
|
54
spec/features/dashboard_issues_spec.rb
Normal file
54
spec/features/dashboard_issues_spec.rb
Normal file
|
@ -0,0 +1,54 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "Dashboard Issues filtering", feature: true, js: true do
|
||||
let(:user) { create(:user) }
|
||||
let(:project) { create(:project) }
|
||||
let(:milestone) { create(:milestone, project: project) }
|
||||
|
||||
context 'filtering by milestone' do
|
||||
before do
|
||||
project.team << [user, :master]
|
||||
login_as(user)
|
||||
|
||||
create(:issue, project: project, author: user, assignee: user)
|
||||
create(:issue, project: project, author: user, assignee: user, milestone: milestone)
|
||||
|
||||
visit_issues
|
||||
end
|
||||
|
||||
it 'should show all issues with no milestone' do
|
||||
show_milestone_dropdown
|
||||
|
||||
click_link 'No Milestone'
|
||||
|
||||
expect(page).to have_selector('.issue', count: 1)
|
||||
end
|
||||
|
||||
it 'should show all issues with any milestone' do
|
||||
show_milestone_dropdown
|
||||
|
||||
click_link 'Any Milestone'
|
||||
|
||||
expect(page).to have_selector('.issue', count: 2)
|
||||
end
|
||||
|
||||
it 'should show all issues with the selected milestone' do
|
||||
show_milestone_dropdown
|
||||
|
||||
page.within '.dropdown-content' do
|
||||
click_link milestone.title
|
||||
end
|
||||
|
||||
expect(page).to have_selector('.issue', count: 1)
|
||||
end
|
||||
end
|
||||
|
||||
def show_milestone_dropdown
|
||||
click_button 'Milestone'
|
||||
expect(page).to have_selector('.dropdown-content', visible: true)
|
||||
end
|
||||
|
||||
def visit_issues
|
||||
visit issues_dashboard_path
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue