Fixed: Files not replacing a lower quality proper/repack

pull/3127/head
Mark McDowall 5 years ago
parent 50144721d7
commit 5cf2672469

@ -279,5 +279,28 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport.Specifications
Subject.IsSatisfiedBy(_localEpisode, null).Accepted.Should().BeTrue();
}
[Test]
public void should_return_true_when_comparing_to_a_lower_quality_proper()
{
Mocker.GetMock<IConfigService>()
.Setup(s => s.DownloadPropersAndRepacks)
.Returns(ProperDownloadTypes.DoNotPrefer);
_localEpisode.Quality = new QualityModel(Quality.Bluray1080p);
_localEpisode.Episodes = Builder<Episode>.CreateListOfSize(1)
.All()
.With(e => e.EpisodeFileId = 1)
.With(e => e.EpisodeFile = new LazyLoaded<EpisodeFile>(
new EpisodeFile
{
Quality = new QualityModel(Quality.Bluray1080p, new Revision(version: 2))
}))
.Build()
.ToList();
Subject.IsSatisfiedBy(_localEpisode, null).Accepted.Should().BeTrue();
}
}
}

@ -37,7 +37,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications
return Decision.Reject("Not an upgrade for existing episode file(s)");
}
if (downloadPropersAndRepacks != ProperDownloadTypes.DoNotPrefer &&
if (qualityCompare == 0 && downloadPropersAndRepacks != ProperDownloadTypes.DoNotPrefer &&
localEpisode.Quality.Revision.CompareTo(episodeFile.Quality.Revision) < 0)
{
_logger.Debug("This file isn't a quality upgrade for all episodes. Skipping {0}", localEpisode.Path);

Loading…
Cancel
Save