1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-11-24 08:42:19 +02:00

Fixed: Don't reject revision upgrades if profile doesn't allow upgrades

This commit is contained in:
Mark McDowall 2024-09-27 16:42:39 -07:00 committed by Mark McDowall
parent 2f0ca42341
commit 4f0e1c54c1
2 changed files with 20 additions and 0 deletions

View File

@ -206,5 +206,19 @@ public void should_return_true_for_lower_quality_when_upgrading_is_not_allowed()
new List<CustomFormat>())
.Should().BeTrue();
}
[Test]
public void should_returntrue_when_quality_is_revision_upgrade_for_same_quality()
{
_qualityProfile.UpgradeAllowed = false;
Subject.IsUpgradeAllowed(
_qualityProfile,
new QualityModel(Quality.DVD, new Revision(1)),
new List<CustomFormat> { _customFormatOne },
new QualityModel(Quality.DVD, new Revision(2)),
new List<CustomFormat> { _customFormatOne })
.Should().BeTrue();
}
}
}

View File

@ -178,6 +178,12 @@ public bool IsUpgradeAllowed(QualityProfile qualityProfile, QualityModel current
var isQualityUpgrade = new QualityModelComparer(qualityProfile).Compare(newQuality, currentQuality) > 0;
var isCustomFormatUpgrade = qualityProfile.CalculateCustomFormatScore(newCustomFormats) > qualityProfile.CalculateCustomFormatScore(currentCustomFormats);
if (IsRevisionUpgrade(currentQuality, newQuality))
{
_logger.Debug("New quality '{0}' is a revision upgrade for '{1}'", newQuality, currentQuality);
return true;
}
if ((isQualityUpgrade || isCustomFormatUpgrade) && qualityProfile.UpgradeAllowed)
{
_logger.Debug("Quality profile allows upgrading");