diff --git a/src/NzbDrone.Core.Test/DecisionEngineTests/NotInQueueSpecificationFixture.cs b/src/NzbDrone.Core.Test/DecisionEngineTests/NotInQueueSpecificationFixture.cs index a41d36669..ff0457b43 100644 --- a/src/NzbDrone.Core.Test/DecisionEngineTests/NotInQueueSpecificationFixture.cs +++ b/src/NzbDrone.Core.Test/DecisionEngineTests/NotInQueueSpecificationFixture.cs @@ -54,26 +54,30 @@ namespace NzbDrone.Core.Test.DecisionEngineTests private void GivenEmptyQueue() { - Mocker.GetMock() - .Setup(s => s.GetQueue()) - .Returns(new List()); + Mocker.GetMock() + .Setup(s => s.GetQueuedDownloads()) + .Returns(new TrackedDownload[0]); } - private void GivenQueue(IEnumerable remoteEpisodes) + private void GivenQueue(IEnumerable remoteEpisodes, TrackedDownloadState state = TrackedDownloadState.Downloading) { - var queue = new List(); + var queue = new List(); foreach (var remoteEpisode in remoteEpisodes) { - queue.Add(new Queue.Queue + queue.Add(new TrackedDownload { - RemoteEpisode = remoteEpisode - }); + State = state, + DownloadItem = new DownloadClientItem + { + RemoteEpisode = remoteEpisode + } + }); } - Mocker.GetMock() - .Setup(s => s.GetQueue()) - .Returns(queue); + Mocker.GetMock() + .Setup(s => s.GetQueuedDownloads()) + .Returns(queue.ToArray()); } [Test] @@ -95,6 +99,23 @@ namespace NzbDrone.Core.Test.DecisionEngineTests Subject.IsSatisfiedBy(_remoteEpisode, null).Should().BeTrue(); } + [Test] + public void should_return_true_when_download_is_failed() + { + var remoteEpisode = Builder.CreateNew() + .With(r => r.Series = _series) + .With(r => r.Episodes = new List { _episode }) + .With(r => r.ParsedEpisodeInfo = new ParsedEpisodeInfo + { + Quality = new QualityModel(Quality.DVD) + }) + .Build(); + + GivenQueue(new List { remoteEpisode }, TrackedDownloadState.DownloadFailed); + + Subject.IsSatisfiedBy(_remoteEpisode, null).Should().BeTrue(); + } + [Test] public void should_return_true_when_quality_in_queue_is_lower() {