+++ /dev/null
-require 'spec_helper'
-
-describe Issues::ListContext do
-
- let(:user) { create(:user) }
- let(:project) { create(:project, creator: user) }
-
- titles = ['foo','bar','baz']
- titles.each_with_index do |title, index|
- let!(title.to_sym) { create(:issue, title: title, project: project, created_at: Time.now - (index * 60)) }
- end
-
- describe 'sorting' do
- it 'sorts by newest' do
- params = {sort: 'newest'}
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq foo
- end
-
- it 'sorts by oldest' do
- params = {sort: 'oldest'}
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq baz
- end
-
- it 'sorts by recently updated' do
- params = {sort: 'recently_updated'}
- baz.updated_at = Time.now + 10
- baz.save
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq baz
- end
-
- it 'sorts by least recently updated' do
- params = {sort: 'last_updated'}
- bar.updated_at = Time.now - 10
- bar.save
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq bar
- end
-
- describe 'sorting by milestone' do
- let(:newer_due_milestone) { create(:milestone, due_date: '2013-12-11') }
- let(:later_due_milestone) { create(:milestone, due_date: '2013-12-12') }
-
- before :each do
- foo.milestone = newer_due_milestone
- foo.save
- bar.milestone = later_due_milestone
- bar.save
- end
-
- it 'sorts by most recently due milestone' do
- params = {sort: 'milestone_due_soon'}
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq foo
-
- end
-
- it 'sorts by least recently due milestone' do
- params = {sort: 'milestone_due_later'}
-
- issues = Issues::ListContext.new(project, user, params).execute
- issues.first.should eq bar
- end
- end
- end
-end