gitlab-org--gitlab-foss/spec/contexts/issues/list_context_spec.rb
Dmitriy Zaporozhets 44c55307a0
Use 1.9 hash syntax for some tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2013-11-27 10:04:00 +02:00

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