summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-04-29 10:51:10 +0000
committerRémy Coutable <remy@rymai.me>2016-04-29 10:51:10 +0000
commit1c0aef446460164d2655926d8c08b77274bff7e1 (patch)
tree7b8f69f14f487fee900dd2801c508e95f1662972
parent6d716fbd4d1569285950dfb78b703ea84aadd436 (diff)
parentded3b02f3353708386d6960c5c146bf2a2de86db (diff)
downloadgitlab-ce-1c0aef446460164d2655926d8c08b77274bff7e1.tar.gz
Merge branch 'change_message_for_newly_created_milestone' into 'master'
Use a better message when milestone is newly created closes #14982 See merge request !3925
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/concerns/milestoneish.rb2
-rw-r--r--app/views/projects/milestones/show.html.haml7
-rw-r--r--spec/features/milestone_spec.rb35
4 files changed, 42 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 569185fa2a1..9dcb1c1557e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@ v 8.8.0 (unreleased)
- Fix error when visiting commit builds page before build was updated
- Add 'l' shortcut to open Label dropdown on issuables and 'i' to create new issue on a project
- Updated search UI
+ - Display informative message when new milestone is created
- Replace Devise Async with Devise ActiveJob integration. !3902 (Connor Shea)
- Allow "NEWS" and "CHANGES" as alternative names for CHANGELOG. !3768 (Connor Shea)
- Added button to toggle whitespaces changes on diff view
diff --git a/app/models/concerns/milestoneish.rb b/app/models/concerns/milestoneish.rb
index 5b8e3f654ea..7bcc78247ba 100644
--- a/app/models/concerns/milestoneish.rb
+++ b/app/models/concerns/milestoneish.rb
@@ -8,7 +8,7 @@ module Milestoneish
end
def complete?(user = nil)
- total_items_count(user) == closed_items_count(user)
+ total_items_count(user) > 0 && total_items_count(user) == closed_items_count(user)
end
def percent_complete(user = nil)
diff --git a/app/views/projects/milestones/show.html.haml b/app/views/projects/milestones/show.html.haml
index be63875ab34..56543ccd062 100644
--- a/app/views/projects/milestones/show.html.haml
+++ b/app/views/projects/milestones/show.html.haml
@@ -42,9 +42,12 @@
= preserve do
= markdown @milestone.description
-- if @milestone.complete?(current_user) && @milestone.active?
+- if @milestone.total_items_count(current_user).zero?
.alert.alert-success.prepend-top-default
- %span All issues for this milestone are closed. You may close milestone now.
+ %span Assign some issues to this milestone.
+- elsif @milestone.complete?(current_user) && @milestone.active?
+ .alert.alert-success.prepend-top-default
+ %span All issues for this milestone are closed. You may close this milestone now.
= render 'shared/milestones/summary', milestone: @milestone, project: @project
= render 'shared/milestones/tabs', milestone: @milestone
diff --git a/spec/features/milestone_spec.rb b/spec/features/milestone_spec.rb
new file mode 100644
index 00000000000..c2c7acff3e8
--- /dev/null
+++ b/spec/features/milestone_spec.rb
@@ -0,0 +1,35 @@
+require 'rails_helper'
+
+feature 'Milestone', feature: true do
+ include WaitForAjax
+
+ let(:project) { create(:project, :public) }
+ let(:user) { create(:user) }
+ let(:milestone) { create(:milestone, project: project, title: 8.7) }
+
+ before do
+ project.team << [user, :master]
+ login_as(user)
+ end
+
+ feature 'Create a milestone' do
+ scenario 'should show an informative message for a new issue' do
+ visit new_namespace_project_milestone_path(project.namespace, project)
+ page.within '.milestone-form' do
+ fill_in "milestone_title", with: '8.7'
+ end
+ find('input[name="commit"]').click
+
+ expect(find('.alert-success')).to have_content('Assign some issues to this milestone.')
+ end
+ end
+
+ feature 'Open a milestone with closed issues' do
+ scenario 'should show an informative message' do
+ create(:issue, title: "Bugfix1", project: project, milestone: milestone, state: "closed")
+ visit namespace_project_milestone_path(project.namespace, project, milestone)
+
+ expect(find('.alert-success')).to have_content('All issues for this milestone are closed. You may close this milestone now.')
+ end
+ end
+end