diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-05-25 15:09:57 +0300 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-05-25 15:09:57 +0300 |
commit | 5fb1de3426d187d2e8d4fe01635a19ac8062e3d2 (patch) | |
tree | fdbc916d7dd06e1f2905f5b2199a14e045d4e785 /spec/models | |
parent | 318b22459bfff1cecfb1f38e381faaca3bc29bbb (diff) | |
parent | dac9b4212d700272160dff1e0a86c20cb72afedd (diff) |
Merge branch 'issue_15221_2'
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/concerns/issuable_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb index 4a4cd093435..c7e98e8309b 100644 --- a/spec/models/concerns/issuable_spec.rb +++ b/spec/models/concerns/issuable_spec.rb @@ -114,6 +114,35 @@ describe Issue, "Issuable" do end end + describe "#sort" do + let(:project) { build_stubbed(:empty_project) } + + context "by milestone due date" do + #Correct order is: + #Issues/MRs with milestones ordered by date + #Issues/MRs with milestones without dates + #Issues/MRs without milestones + + let!(:issue) { create(:issue, project: project) } + let!(:early_milestone) { create(:milestone, project: project, due_date: 10.days.from_now) } + let!(:late_milestone) { create(:milestone, project: project, due_date: 30.days.from_now) } + let!(:issue1) { create(:issue, project: project, milestone: early_milestone) } + let!(:issue2) { create(:issue, project: project, milestone: late_milestone) } + let!(:issue3) { create(:issue, project: project) } + + it "sorts desc" do + issues = project.issues.sort('milestone_due_desc') + expect(issues).to match_array([issue2, issue1, issue, issue3]) + end + + it "sorts asc" do + issues = project.issues.sort('milestone_due_asc') + expect(issues).to match_array([issue1, issue2, issue, issue3]) + end + end + end + + describe '#subscribed?' do context 'user is not a participant in the issue' do before { allow(issue).to receive(:participants).with(user).and_return([]) } |