diff options
author | Robert Speicher <robert@gitlab.com> | 2016-04-11 23:26:45 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-04-11 23:26:45 +0000 |
commit | 0913204f9b1db46afca939c5f963e5dc12614641 (patch) | |
tree | 6054d99330213bc619307fc9e2c7edf0bb2b64e6 | |
parent | 7998725e3c2557c04ceece028dd73a316a3a746c (diff) | |
parent | 8d5ad4e3c9973ed34742b543cc3a5466c32b9d5b (diff) | |
download | gitlab-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.rb | 1 | ||||
-rw-r--r-- | spec/helpers/issues_helper_spec.rb | 23 |
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 |