44c55307a0
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
73 lines
2 KiB
Ruby
73 lines
2 KiB
Ruby
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
|