summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-04-11 23:26:45 +0000
committerRobert Speicher <robert@gitlab.com>2016-04-11 23:26:45 +0000
commit0913204f9b1db46afca939c5f963e5dc12614641 (patch)
tree6054d99330213bc619307fc9e2c7edf0bb2b64e6
parent7998725e3c2557c04ceece028dd73a316a3a746c (diff)
parent8d5ad4e3c9973ed34742b543cc3a5466c32b9d5b (diff)
downloadgitlab-ce-0913204f9b1db46afca939c5f963e5dc12614641.tar.gz
Merge branch 'issue_1752' into 'master'
Fix milestone removal problem when editing issues fixes #1752 See merge request !3571
-rw-r--r--app/helpers/issues_helper.rb1
-rw-r--r--spec/helpers/issues_helper_spec.rb23
2 files changed, 20 insertions, 4 deletions
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index bcf8639c829..4cb8adcebad 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -52,6 +52,7 @@ module IssuesHelper
def milestone_options(object)
milestones = object.project.milestones.active.reorder(due_date: :asc, title: :asc).to_a
+ milestones.unshift(object.milestone) if object.milestone.present? && object.milestone.closed?
milestones.unshift(Milestone::None)
options_from_collection_for_select(milestones, 'id', 'title', object.milestone_id)
diff --git a/spec/helpers/issues_helper_spec.rb b/spec/helpers/issues_helper_spec.rb
index ffd8ebae029..543593cf389 100644
--- a/spec/helpers/issues_helper_spec.rb
+++ b/spec/helpers/issues_helper_spec.rb
@@ -80,7 +80,7 @@ describe IssuesHelper do
end
end
- describe '#url_for_new_issue' do
+ describe 'url_for_new_issue' do
let(:issues_url) { ext_project.external_issue_tracker.new_issue_url }
let(:ext_expected) do
issues_url.gsub(':project_id', ext_project.id.to_s)
@@ -117,7 +117,7 @@ describe IssuesHelper do
end
end
- describe "#merge_requests_sentence" do
+ describe "merge_requests_sentence" do
subject { merge_requests_sentence(merge_requests)}
let(:merge_requests) do
[ build(:merge_request, iid: 1), build(:merge_request, iid: 2),
@@ -127,7 +127,7 @@ describe IssuesHelper do
it { is_expected.to eq("!1, !2, or !3") }
end
- describe "#note_active_class" do
+ describe "note_active_class" do
before do
@note = create :note
@note1 = create :note
@@ -142,10 +142,25 @@ describe IssuesHelper do
end
end
- describe "#awards_sort" do
+ describe "awards_sort" do
it "sorts a hash so thumbsup and thumbsdown are always on top" do
data = { "thumbsdown" => "some value", "lifter" => "some value", "thumbsup" => "some value" }
expect(awards_sort(data).keys).to eq(["thumbsup", "thumbsdown", "lifter"])
end
end
+
+ describe "milestone_options" do
+ it "gets closed milestone from current issue" do
+ closed_milestone = create(:closed_milestone, project: project)
+ milestone1 = create(:milestone, project: project)
+ milestone2 = create(:milestone, project: project)
+ issue.update_attributes(milestone_id: closed_milestone.id)
+
+ options = milestone_options(issue)
+
+ expect(options).to have_selector('option[selected]', text: closed_milestone.title)
+ expect(options).to have_selector('option', text: milestone1.title)
+ expect(options).to have_selector('option', text: milestone2.title)
+ end
+ end
end