1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-21 22:05:38 -04:00

Fixed: Repack Preference Ignored

This commit is contained in:
bakerboy448
2022-09-22 11:49:19 -05:00
committed by GitHub
parent c98fac65ed
commit 04447d9d4d
2 changed files with 87 additions and 1 deletions
@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.DecisionEngine.Specifications;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.Parser.Model;
@@ -172,5 +174,71 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
.Should()
.BeFalse();
}
[Test]
public void should_return_true_when_repacks_are_not_preferred()
{
Mocker.GetMock<IConfigService>()
.Setup(s => s.DownloadPropersAndRepacks)
.Returns(ProperDownloadTypes.DoNotPrefer);
_parsedEpisodeInfo.Quality.Revision.IsRepack = true;
_episodes.First().EpisodeFileId = 1;
_episodes.First().EpisodeFile = Builder<EpisodeFile>.CreateNew()
.With(e => e.Quality = new QualityModel(Quality.SDTV))
.With(e => e.ReleaseGroup = "Sonarr")
.Build();
var remoteEpisode = Builder<RemoteEpisode>.CreateNew()
.With(e => e.ParsedEpisodeInfo = _parsedEpisodeInfo)
.With(e => e.Episodes = _episodes)
.Build();
Subject.IsSatisfiedBy(remoteEpisode, null).Accepted.Should().BeTrue();
}
[Test]
public void should_return_true_when_repack_but_auto_download_repacks_is_true()
{
Mocker.GetMock<IConfigService>()
.Setup(s => s.DownloadPropersAndRepacks)
.Returns(ProperDownloadTypes.PreferAndUpgrade);
_parsedEpisodeInfo.Quality.Revision.IsRepack = true;
_episodes.First().EpisodeFileId = 1;
_episodes.First().EpisodeFile = Builder<EpisodeFile>.CreateNew()
.With(e => e.Quality = new QualityModel(Quality.SDTV))
.With(e => e.ReleaseGroup = "Sonarr")
.Build();
var remoteEpisode = Builder<RemoteEpisode>.CreateNew()
.With(e => e.ParsedEpisodeInfo = _parsedEpisodeInfo)
.With(e => e.Episodes = _episodes)
.Build();
Subject.IsSatisfiedBy(remoteEpisode, null).Accepted.Should().BeTrue();
}
[Test]
public void should_return_false_when_repack_but_auto_download_repacks_is_false()
{
Mocker.GetMock<IConfigService>()
.Setup(s => s.DownloadPropersAndRepacks)
.Returns(ProperDownloadTypes.DoNotUpgrade);
_parsedEpisodeInfo.Quality.Revision.IsRepack = true;
_episodes.First().EpisodeFileId = 1;
_episodes.First().EpisodeFile = Builder<EpisodeFile>.CreateNew()
.With(e => e.Quality = new QualityModel(Quality.SDTV))
.With(e => e.ReleaseGroup = "Sonarr")
.Build();
var remoteEpisode = Builder<RemoteEpisode>.CreateNew()
.With(e => e.ParsedEpisodeInfo = _parsedEpisodeInfo)
.With(e => e.Episodes = _episodes)
.Build();
Subject.IsSatisfiedBy(remoteEpisode, null).Accepted.Should().BeFalse();
}
}
}