mirror of https://github.com/Radarr/Radarr
Fixed: Manually marking a grabbed release failed will now mark all episodes in that release failed instead of only one.
This commit is contained in:
parent
74a38415cf
commit
4b53cc7e52
|
@ -9,6 +9,7 @@ using NzbDrone.Core.Download;
|
|||
using NzbDrone.Core.History;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.Download
|
||||
{
|
||||
|
@ -379,6 +380,30 @@ namespace NzbDrone.Core.Test.Download
|
|||
Subject.Execute(new CheckForFinishedDownloadCommand());
|
||||
|
||||
VerifyNoFailedDownloads();
|
||||
|
||||
ExceptionVerification.IgnoreWarns();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_manual_mark_all_episodes_of_release_as_failed()
|
||||
{
|
||||
var historyFailed = Builder<History.History>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(v => v.EventType == HistoryEventType.Grabbed)
|
||||
.Do(v => v.Data.Add("downloadClient", "SabnzbdClient"))
|
||||
.Do(v => v.Data.Add("downloadClientId", "test"))
|
||||
.Build()
|
||||
.ToList();
|
||||
|
||||
GivenGrabbedHistory(historyFailed);
|
||||
|
||||
Mocker.GetMock<IHistoryService>()
|
||||
.Setup(s => s.Get(It.IsAny<Int32>()))
|
||||
.Returns<Int32>(i => historyFailed.FirstOrDefault(v => v.Id == i));
|
||||
|
||||
Subject.MarkAsFailed(1);
|
||||
|
||||
VerifyFailedDownloads(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,14 +35,24 @@ namespace NzbDrone.Core.Download
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
public void MarkAsFailed(TrackedDownload trackedDownload, History.History grabbedHistory)
|
||||
public void MarkAsFailed(TrackedDownload trackedDownload, History.History history)
|
||||
{
|
||||
if (trackedDownload != null && trackedDownload.State == TrackedDownloadState.Downloading)
|
||||
{
|
||||
trackedDownload.State = TrackedDownloadState.DownloadFailed;
|
||||
}
|
||||
|
||||
PublishDownloadFailedEvent(new List<History.History> { grabbedHistory }, "Manually marked as failed");
|
||||
var downloadClientId = history.Data.GetValueOrDefault(DownloadTrackingService.DOWNLOAD_CLIENT_ID);
|
||||
if (downloadClientId.IsNullOrWhiteSpace())
|
||||
{
|
||||
PublishDownloadFailedEvent(new List<History.History> { history }, "Manually marked as failed");
|
||||
}
|
||||
else
|
||||
{
|
||||
var grabbedHistory = GetHistoryItems(_historyService.Grabbed(), downloadClientId);
|
||||
|
||||
PublishDownloadFailedEvent(grabbedHistory, "Manually marked as failed");
|
||||
}
|
||||
}
|
||||
|
||||
public void CheckForFailedItem(IDownloadClient downloadClient, TrackedDownload trackedDownload, List<History.History> grabbedHistory, List<History.History> failedHistory)
|
||||
|
|
Loading…
Reference in New Issue