diff --git a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs index 63be78c4c..1f097a7ed 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabRequestGeneratorFixture.cs @@ -13,6 +13,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests public class NewznabRequestGeneratorFixture : CoreTest { private MovieSearchCriteria _movieSearchCriteria; + private TvSearchCriteria _tvSearchCriteria; private IndexerCapabilities _capabilities; [SetUp] @@ -30,6 +31,13 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests Categories = new int[] { 2000 } }; + _tvSearchCriteria = new TvSearchCriteria + { + SearchTerm = "Star Wars", + Categories = new int[] { 5000 }, + Season = 0 + }; + _capabilities = new IndexerCapabilities(); Mocker.GetMock() @@ -178,5 +186,18 @@ namespace NzbDrone.Core.Test.IndexerTests.NewznabTests pageTier2.Url.Query.Should().NotContain("imdbid=0076759"); pageTier2.Url.Query.Should().Contain("q="); } + + [Test] + public void should_pad_seasons_for_tv_search() + { + _capabilities.TvSearchParams = new List { TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep }; + + var results = Subject.GetSearchRequests(_tvSearchCriteria); + results.Tiers.Should().Be(1); + + var pageTier = results.GetTier(0).First().First(); + + pageTier.Url.Query.Should().Contain("season=00"); + } } } diff --git a/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRequestGenerator.cs index b446deb8d..4b106137f 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Newznab/NewznabRequestGenerator.cs @@ -140,7 +140,8 @@ namespace NzbDrone.Core.Indexers.Newznab if (searchCriteria.Season.HasValue && capabilities.TvSearchSeasonAvailable) { - parameters.Add("season", searchCriteria.Season.ToString()); + // Pad seasons to two decimals due to issues with NNTmux handling season = 0 + parameters.Add("season", searchCriteria.Season.Value.ToString("00")); } if (searchCriteria.Episode.IsNotNullOrWhiteSpace() && capabilities.TvSearchEpAvailable)