Correcting ScheduledTaskManager.GetTasks(string, DateTime?) implementation

Work Item: 16719

--HG--
branch : dev
This commit is contained in:
Sébastien Ros
2010-11-19 08:45:07 -08:00
parent 0fdae21fd4
commit c9bfabbd2b
2 changed files with 36 additions and 1 deletions

View File

@@ -124,5 +124,40 @@ namespace Orchard.Core.Tests.Scheduling {
var secondTask = tasks.Single(x => x.TaskType == "Second");
Assert.That(secondTask.ContentItem.Version, Is.EqualTo(2));
}
[Test]
public void ShouldGetTasksByType() {
_scheduledTaskManager.CreateTask("First", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("First", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("First", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("Second", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("Second", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("Third", _clock.UtcNow, null);
_session.Flush();
_session.Clear();
Assert.That(_scheduledTaskManager.GetTasks("First").Count(), Is.EqualTo(3));
Assert.That(_scheduledTaskManager.GetTasks("Second").Count(), Is.EqualTo(2));
Assert.That(_scheduledTaskManager.GetTasks("Third").Count(), Is.EqualTo(1));
Assert.That(_scheduledTaskManager.GetTasks("Fourth").Count(), Is.EqualTo(0));
}
[Test]
public void ShouldGetTasksByTypeAndScheduledDate() {
_scheduledTaskManager.CreateTask("First", _clock.UtcNow, null);
_scheduledTaskManager.CreateTask("First", _clock.UtcNow.AddHours(1), null);
_scheduledTaskManager.CreateTask("First", _clock.UtcNow.AddHours(2), null);
_session.Flush();
_session.Clear();
Assert.That(_scheduledTaskManager.GetTasks("Foo", _clock.UtcNow.AddHours(5)).Count(), Is.EqualTo(0));
Assert.That(_scheduledTaskManager.GetTasks("First", _clock.UtcNow.AddMinutes(-1)).Count(), Is.EqualTo(0));
Assert.That(_scheduledTaskManager.GetTasks("First", _clock.UtcNow.AddMinutes(1)).Count(), Is.EqualTo(1));
Assert.That(_scheduledTaskManager.GetTasks("First", _clock.UtcNow.AddHours(1)).Count(), Is.EqualTo(2));
Assert.That(_scheduledTaskManager.GetTasks("First", _clock.UtcNow.AddHours(2)).Count(), Is.EqualTo(3));
}
}
}

View File

@@ -45,7 +45,7 @@ namespace Orchard.Core.Scheduling.Services {
}
public IEnumerable<IScheduledTask> GetTasks(string taskType, DateTime? scheduledBeforeUtc = null) {
var query = scheduledBeforeUtc == null
var query = scheduledBeforeUtc != null
? _repository.Fetch(t => t.TaskType == taskType && t.ScheduledUtc <= scheduledBeforeUtc)
: _repository.Fetch(t => t.TaskType == taskType);