diff options
author | Sean McGivern <sean@gitlab.com> | 2019-07-18 18:04:43 +0000 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2019-07-18 18:04:43 +0000 |
commit | 0b859d2f4fb3c7595f343fda0caa7dfc6919462b (patch) | |
tree | b6ccfbc948d3327fa99b31b12bc7d891e1854255 | |
parent | 53c0c4335a737068ddd57639b85028a88effa946 (diff) | |
parent | 622e20766c6e7762e621c386dea7d3b45d4930b1 (diff) | |
download | gitlab-ce-0b859d2f4fb3c7595f343fda0caa7dfc6919462b.tar.gz |
Merge branch 'group-milestones-dashboard-blunceford' into 'master'
Fix bug in dashboard display of closed milestones
Closes #59381
See merge request gitlab-org/gitlab-ce!30820
-rw-r--r-- | app/models/dashboard_group_milestone.rb | 3 | ||||
-rw-r--r-- | changelogs/unreleased/group-milestones-dashboard-blunceford.yml | 5 | ||||
-rw-r--r-- | spec/controllers/dashboard/milestones_controller_spec.rb | 15 |
3 files changed, 19 insertions, 4 deletions
diff --git a/app/models/dashboard_group_milestone.rb b/app/models/dashboard_group_milestone.rb index 74aa04ab7d0..ec52f1ed370 100644 --- a/app/models/dashboard_group_milestone.rb +++ b/app/models/dashboard_group_milestone.rb @@ -15,8 +15,7 @@ class DashboardGroupMilestone < GlobalMilestone milestones = Milestone.of_groups(groups.select(:id)) .reorder_by_due_date_asc .order_by_name_asc - .active milestones = milestones.search_title(params[:search_title]) if params[:search_title].present? - milestones.map { |m| new(m) } + Milestone.filter_by_state(milestones, params[:state]).map { |m| new(m) } end end diff --git a/changelogs/unreleased/group-milestones-dashboard-blunceford.yml b/changelogs/unreleased/group-milestones-dashboard-blunceford.yml new file mode 100644 index 00000000000..a6ded27cb8c --- /dev/null +++ b/changelogs/unreleased/group-milestones-dashboard-blunceford.yml @@ -0,0 +1,5 @@ +--- +title: Fix bug in dashboard display of closed milestones +merge_request: 30820 +author: +type: fixed diff --git a/spec/controllers/dashboard/milestones_controller_spec.rb b/spec/controllers/dashboard/milestones_controller_spec.rb index 4de537ae6f8..67939aa4e6a 100644 --- a/spec/controllers/dashboard/milestones_controller_spec.rb +++ b/spec/controllers/dashboard/milestones_controller_spec.rb @@ -47,6 +47,8 @@ describe Dashboard::MilestonesController do describe "#index" do let(:public_group) { create(:group, :public) } let!(:public_milestone) { create(:milestone, group: public_group) } + let!(:closed_group_milestone) { create(:milestone, group: group, state: 'closed') } + let!(:closed_project_milestone) { create(:milestone, project: project, state: 'closed') } render_views @@ -59,6 +61,15 @@ describe Dashboard::MilestonesController do expect(json_response.map { |i| i["group_name"] }.compact).to match_array(group.name) end + it 'returns closed group and project milestones to which the user belongs' do + get :index, params: { state: 'closed' }, format: :json + + expect(response).to have_gitlab_http_status(200) + expect(json_response.size).to eq(2) + expect(json_response.map { |i| i["name"] }).to match_array([closed_group_milestone.name, closed_project_milestone.name]) + expect(json_response.map { |i| i["group_name"] }.compact).to match_array(group.name) + end + it 'searches legacy project milestones by title when search_title is given' do project_milestone = create(:milestone, title: 'Project milestone title', project: project) @@ -77,11 +88,11 @@ describe Dashboard::MilestonesController do expect(response.body).not_to include(project_milestone.title) end - it 'shows counts of group and project milestones to which the user belongs to' do + it 'shows counts of open and closed group and project milestones to which the user belongs to' do get :index expect(response.body).to include("Open\n<span class=\"badge badge-pill\">2</span>") - expect(response.body).to include("Closed\n<span class=\"badge badge-pill\">0</span>") + expect(response.body).to include("Closed\n<span class=\"badge badge-pill\">2</span>") end context 'external authorization' do |