From 6ff16f4bd0c229125e137cc5ce02f3faccbd20be Mon Sep 17 00:00:00 2001 From: blunceford Date: Tue, 16 Jul 2019 15:33:35 -0600 Subject: Fix bug with closed milestones in dashboard --- app/models/dashboard_group_milestone.rb | 3 +-- .../dashboard/milestones_controller_spec.rb | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 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/spec/controllers/dashboard/milestones_controller_spec.rb b/spec/controllers/dashboard/milestones_controller_spec.rb index 4de537ae6f8..010d6ba477d 100644 --- a/spec/controllers/dashboard/milestones_controller_spec.rb +++ b/spec/controllers/dashboard/milestones_controller_spec.rb @@ -59,6 +59,18 @@ 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 + closed_group_milestone = create(:milestone, group: group, state: 'closed') + closed_project_milestone = create(:milestone, project: project, state: 'closed') + + 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) @@ -84,6 +96,16 @@ describe Dashboard::MilestonesController do expect(response.body).to include("Closed\n0") end + it 'shows counts of closed group and project milestones to which the user belongs to' do + closed_group_milestone = create(:milestone, group: group, state: 'closed') + closed_project_milestone = create(:milestone, project: project, state: 'closed') + + get :index + + expect(response.body).to include("Open\n2") + expect(response.body).to include("Closed\n2") + end + context 'external authorization' do subject { get :index } -- cgit v1.2.1 From baa2d078a570653f73f54635318d009e43b93df8 Mon Sep 17 00:00:00 2001 From: blunceford Date: Tue, 16 Jul 2019 15:54:45 -0600 Subject: Added changelog entry for fix --- changelogs/unreleased/group-milestones-dashboard-blunceford.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/group-milestones-dashboard-blunceford.yml diff --git a/changelogs/unreleased/group-milestones-dashboard-blunceford.yml b/changelogs/unreleased/group-milestones-dashboard-blunceford.yml new file mode 100644 index 00000000000..e3ae94e9601 --- /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: blunceford +type: fixed -- cgit v1.2.1 From 77a98c36399c7ac7425b73038e325b411eec0685 Mon Sep 17 00:00:00 2001 From: blunceford Date: Wed, 17 Jul 2019 10:34:42 -0600 Subject: Cleaned up tests for group milestones --- .../controllers/dashboard/milestones_controller_spec.rb | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/spec/controllers/dashboard/milestones_controller_spec.rb b/spec/controllers/dashboard/milestones_controller_spec.rb index 010d6ba477d..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 @@ -60,9 +62,6 @@ describe Dashboard::MilestonesController do end it 'returns closed group and project milestones to which the user belongs' do - closed_group_milestone = create(:milestone, group: group, state: 'closed') - closed_project_milestone = create(:milestone, project: project, state: 'closed') - get :index, params: { state: 'closed' }, format: :json expect(response).to have_gitlab_http_status(200) @@ -89,17 +88,7 @@ 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 - get :index - - expect(response.body).to include("Open\n2") - expect(response.body).to include("Closed\n0") - end - - it 'shows counts of closed group and project milestones to which the user belongs to' do - closed_group_milestone = create(:milestone, group: group, state: 'closed') - closed_project_milestone = create(:milestone, project: project, state: 'closed') - + 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\n2") -- cgit v1.2.1 From 622e20766c6e7762e621c386dea7d3b45d4930b1 Mon Sep 17 00:00:00 2001 From: blunceford Date: Thu, 18 Jul 2019 09:28:11 -0600 Subject: Removed name from changelog entry --- changelogs/unreleased/group-milestones-dashboard-blunceford.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/unreleased/group-milestones-dashboard-blunceford.yml b/changelogs/unreleased/group-milestones-dashboard-blunceford.yml index e3ae94e9601..a6ded27cb8c 100644 --- a/changelogs/unreleased/group-milestones-dashboard-blunceford.yml +++ b/changelogs/unreleased/group-milestones-dashboard-blunceford.yml @@ -1,5 +1,5 @@ --- title: Fix bug in dashboard display of closed milestones merge_request: 30820 -author: blunceford +author: type: fixed -- cgit v1.2.1