提交 6ff16f4b 编写于 作者: B blunceford

Fix bug with closed milestones in dashboard

上级 b8d876f1
...@@ -15,8 +15,7 @@ class DashboardGroupMilestone < GlobalMilestone ...@@ -15,8 +15,7 @@ class DashboardGroupMilestone < GlobalMilestone
milestones = Milestone.of_groups(groups.select(:id)) milestones = Milestone.of_groups(groups.select(:id))
.reorder_by_due_date_asc .reorder_by_due_date_asc
.order_by_name_asc .order_by_name_asc
.active
milestones = milestones.search_title(params[:search_title]) if params[:search_title].present? 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
end end
...@@ -59,6 +59,18 @@ describe Dashboard::MilestonesController do ...@@ -59,6 +59,18 @@ describe Dashboard::MilestonesController do
expect(json_response.map { |i| i["group_name"] }.compact).to match_array(group.name) expect(json_response.map { |i| i["group_name"] }.compact).to match_array(group.name)
end 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 it 'searches legacy project milestones by title when search_title is given' do
project_milestone = create(:milestone, title: 'Project milestone title', project: project) project_milestone = create(:milestone, title: 'Project milestone title', project: project)
...@@ -84,6 +96,16 @@ describe Dashboard::MilestonesController do ...@@ -84,6 +96,16 @@ describe Dashboard::MilestonesController do
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\">0</span>")
end 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\n<span class=\"badge badge-pill\">2</span>")
expect(response.body).to include("Closed\n<span class=\"badge badge-pill\">2</span>")
end
context 'external authorization' do context 'external authorization' do
subject { get :index } subject { get :index }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册