mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-22 22:14:44 -04:00
New: Release Profiles, Frontend updates (#580)
* New: Release Profiles - UI Updates * New: Release Profiles - API Changes * New: Release Profiles - Test Updates * New: Release Profiles - Backend Updates * New: Interactive Artist Search * New: Change Montiored on Album Details Page * New: Show Duration on Album Details Page * Fixed: Manual Import not working if no albums are Missing * Fixed: Sort search input by sortTitle * Fixed: Queue columnLabel throwing JS error
This commit is contained in:
@@ -2,7 +2,7 @@ using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Profiles.Qualities;
|
||||
using NzbDrone.Core.Qualities;
|
||||
using NzbDrone.Core.DecisionEngine;
|
||||
using NzbDrone.Core.DecisionEngine.Specifications;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Languages;
|
||||
using NzbDrone.Core.Profiles.Languages;
|
||||
@@ -13,11 +13,13 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
[TestFixture]
|
||||
public class CutoffSpecificationFixture : CoreTest<UpgradableSpecification>
|
||||
{
|
||||
private static readonly int NoPreferredWordScore = 0;
|
||||
|
||||
[Test]
|
||||
public void should_return_true_if_current_album_is_less_than_cutoff()
|
||||
{
|
||||
Subject.CutoffNotMet(
|
||||
new Profile
|
||||
new QualityProfile
|
||||
|
||||
{
|
||||
Cutoff = Quality.MP3_256.Id,
|
||||
@@ -28,14 +30,14 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
Languages = LanguageFixture.GetDefaultLanguages(Language.English),
|
||||
Cutoff = Language.English
|
||||
},
|
||||
new QualityModel(Quality.MP3_192, new Revision(version: 2)), Language.English).Should().BeTrue();
|
||||
new QualityModel(Quality.MP3_192, new Revision(version: 2)), Language.English, NoPreferredWordScore).Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_false_if_current_album_is_equal_to_cutoff()
|
||||
{
|
||||
Subject.CutoffNotMet(
|
||||
new Profile
|
||||
new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_256.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities()
|
||||
@@ -45,14 +47,14 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
Languages = LanguageFixture.GetDefaultLanguages(Language.English),
|
||||
Cutoff = Language.English
|
||||
},
|
||||
new QualityModel(Quality.MP3_256, new Revision(version: 2)), Language.English).Should().BeFalse();
|
||||
new QualityModel(Quality.MP3_256, new Revision(version: 2)), Language.English, NoPreferredWordScore).Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_false_if_current_album_is_greater_than_cutoff()
|
||||
{
|
||||
Subject.CutoffNotMet(
|
||||
new Profile
|
||||
new QualityProfile
|
||||
|
||||
{
|
||||
Cutoff = Quality.MP3_256.Id,
|
||||
@@ -63,14 +65,14 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
Languages = LanguageFixture.GetDefaultLanguages(Language.English),
|
||||
Cutoff = Language.English
|
||||
},
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)), Language.English).Should().BeFalse();
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)), Language.English, NoPreferredWordScore).Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_true_when_new_album_is_proper_but_existing_is_not()
|
||||
{
|
||||
Subject.CutoffNotMet(
|
||||
new Profile
|
||||
new QualityProfile
|
||||
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
@@ -81,7 +83,9 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
Languages = LanguageFixture.GetDefaultLanguages(Language.English),
|
||||
Cutoff = Language.English
|
||||
},
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 1)),Language.English,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 1)),
|
||||
Language.English,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2))).Should().BeTrue();
|
||||
|
||||
}
|
||||
@@ -90,7 +94,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_false_if_cutoff_is_met_and_quality_is_higher()
|
||||
{
|
||||
Subject.CutoffNotMet(
|
||||
new Profile
|
||||
new QualityProfile
|
||||
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
@@ -101,7 +105,8 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
Languages = LanguageFixture.GetDefaultLanguages(Language.English),
|
||||
Cutoff = Language.English
|
||||
},
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)),Language.English,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)), Language.English,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2))).Should().BeFalse();
|
||||
}
|
||||
|
||||
@@ -109,7 +114,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_true_if_quality_cutoff_is_met_and_quality_is_higher_but_language_is_not_met()
|
||||
{
|
||||
|
||||
Profile _profile = new Profile
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
@@ -125,6 +130,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)),
|
||||
Language.English,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2))).Should().BeTrue();
|
||||
}
|
||||
|
||||
@@ -132,7 +138,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_false_if_cutoff_is_met_and_quality_is_higher_and_language_is_met()
|
||||
{
|
||||
|
||||
Profile _profile = new Profile
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
@@ -149,6 +155,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)),
|
||||
Language.Spanish,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2))).Should().BeFalse();
|
||||
}
|
||||
|
||||
@@ -156,7 +163,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_false_if_cutoff_is_met_and_quality_is_higher_and_language_is_higher()
|
||||
{
|
||||
|
||||
Profile _profile = new Profile
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
@@ -173,6 +180,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)),
|
||||
Language.French,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2))).Should().BeFalse();
|
||||
}
|
||||
|
||||
@@ -180,7 +188,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_true_if_cutoff_is_not_met_and_new_quality_is_higher_and_language_is_higher()
|
||||
{
|
||||
|
||||
Profile _profile = new Profile
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
@@ -197,6 +205,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_256, new Revision(version: 2)),
|
||||
Language.French,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2))).Should().BeTrue();
|
||||
}
|
||||
|
||||
@@ -204,7 +213,7 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
public void should_return_true_if_cutoff_is_not_met_and_language_is_higher()
|
||||
{
|
||||
|
||||
Profile _profile = new Profile
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
@@ -220,7 +229,32 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
_profile,
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_256, new Revision(version: 2)),
|
||||
Language.French).Should().BeTrue();
|
||||
Language.French, NoPreferredWordScore).Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_true_if_cutoffs_are_met_and_score_is_higher()
|
||||
{
|
||||
QualityProfile _profile = new QualityProfile
|
||||
{
|
||||
Cutoff = Quality.MP3_320.Id,
|
||||
Items = Qualities.QualityFixture.GetDefaultQualities(),
|
||||
};
|
||||
|
||||
LanguageProfile _langProfile = new LanguageProfile
|
||||
{
|
||||
Cutoff = Language.Spanish,
|
||||
Languages = LanguageFixture.GetDefaultLanguages()
|
||||
};
|
||||
|
||||
Subject.CutoffNotMet(
|
||||
_profile,
|
||||
_langProfile,
|
||||
new QualityModel(Quality.MP3_320, new Revision(version: 2)),
|
||||
Language.Spanish,
|
||||
NoPreferredWordScore,
|
||||
new QualityModel(Quality.FLAC, new Revision(version: 2)),
|
||||
10).Should().BeTrue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user