Fixed HDBits Tests

pull/25/head
Qstick 3 years ago
parent 39b9381f77
commit 757862604b

@ -1,8 +1,10 @@
using System.Collections.Generic;
using System.Linq;
using FluentAssertions;
using Newtonsoft.Json;
using NUnit.Framework;
using NzbDrone.Common.Http;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Indexers.HDBits;
using NzbDrone.Core.IndexerSearch.Definitions;
using NzbDrone.Core.Test.Framework;
@ -22,6 +24,27 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests
Username = "somename"
};
Subject.Capabilities = new IndexerCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
};
Subject.Capabilities.Categories.AddCategoryMapping(6, NewznabStandardCategory.Audio, "Audio Track");
Subject.Capabilities.Categories.AddCategoryMapping(3, NewznabStandardCategory.TVDocumentary, "Documentary");
Subject.Capabilities.Categories.AddCategoryMapping(8, NewznabStandardCategory.Other, "Misc/Demo");
Subject.Capabilities.Categories.AddCategoryMapping(1, NewznabStandardCategory.Movies, "Movie");
Subject.Capabilities.Categories.AddCategoryMapping(4, NewznabStandardCategory.Audio, "Music");
Subject.Capabilities.Categories.AddCategoryMapping(5, NewznabStandardCategory.TVSport, "Sport");
Subject.Capabilities.Categories.AddCategoryMapping(2, NewznabStandardCategory.TV, "TV");
Subject.Capabilities.Categories.AddCategoryMapping(7, NewznabStandardCategory.XXX, "XXX");
_movieSearchCriteria = new MovieSearchCriteria
{
Categories = new int[] { 2000, 2010 },
@ -29,11 +52,6 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests
};
}
private void MovieWithoutIMDB()
{
_movieSearchCriteria.ImdbId = null;
}
[Test]
public void should_search_by_imdbid_if_supported()
{
@ -49,17 +67,8 @@ namespace NzbDrone.Core.Test.IndexerTests.HDBitsTests
var body = encoding.GetString(page.HttpRequest.ContentData);
var query = JsonConvert.DeserializeObject<TorrentQuery>(body);
query.Category.Should().HaveCount(2);
query.Category.Should().HaveCount(1);
query.ImdbInfo.Id.Should().Be(imdbQuery);
}
[Test]
public void should_return_no_results_if_no_imdb()
{
MovieWithoutIMDB();
var results = Subject.GetSearchRequests(_movieSearchCriteria);
results.GetTier(0).Should().HaveCount(0);
}
}
}

@ -23,7 +23,7 @@ namespace NzbDrone.Core.Indexers.HDBits
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new HDBitsRequestGenerator() { Settings = Settings, BaseUrl = BaseUrl };
return new HDBitsRequestGenerator() { Settings = Settings, BaseUrl = BaseUrl, Capabilities = Capabilities };
}
public override IParseIndexerResponse GetParser()

@ -29,12 +29,15 @@ namespace NzbDrone.Core.Indexers.HDBits
query.Search = searchCriteria.SanitizedSearchTerm;
}
var imdbId = int.Parse(searchCriteria.ImdbId.Substring(2));
if (imdbId != 0)
if (searchCriteria.ImdbId.IsNotNullOrWhiteSpace())
{
query.ImdbInfo = query.ImdbInfo ?? new ImdbInfo();
query.ImdbInfo.Id = imdbId;
var imdbId = int.Parse(searchCriteria.ImdbId.Substring(2));
if (imdbId != 0)
{
query.ImdbInfo = query.ImdbInfo ?? new ImdbInfo();
query.ImdbInfo.Id = imdbId;
}
}
pageableRequests.Add(GetRequest(query));

Loading…
Cancel
Save