Search improvements

New: Series/Season search will not grab unmonitored episodes
Fixed: Missing episode search won't grab missing unmonitored episodes by mistake
This commit is contained in:
Mark McDowall 2015-02-10 17:19:15 -08:00
parent 32dd545ef9
commit 37959fd753
3 changed files with 21 additions and 5 deletions

View File

@ -105,10 +105,23 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
}
[Test]
public void should_return_true_if_it_is_a_search()
public void should_return_true_for_single_episode_search()
{
_fakeSeries.Monitored = false;
_monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultMulti, new SeasonSearchCriteria()).Accepted.Should().BeTrue();
_monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultSingle, new SingleEpisodeSearchCriteria()).Accepted.Should().BeTrue();
}
[Test]
public void should_return_true_if_episode_is_monitored_for_season_search()
{
_monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultSingle, new SeasonSearchCriteria()).Accepted.Should().BeTrue();
}
[Test]
public void should_return_false_if_episode_is_not_monitored_for_season_search()
{
WithFirstEpisodeUnmonitored();
_monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultSingle, new SeasonSearchCriteria()).Accepted.Should().BeFalse();
}
}
}

View File

@ -20,8 +20,11 @@ namespace NzbDrone.Core.DecisionEngine.Specifications.RssSync
{
if (searchCriteria != null)
{
_logger.Debug("Skipping monitored check during search");
return Decision.Accept();
if ((searchCriteria as SeasonSearchCriteria) == null)
{
_logger.Debug("Skipping monitored check during search");
return Decision.Accept();
}
}
if (!subject.Series.Monitored)

View File

@ -35,7 +35,7 @@ namespace NzbDrone.Core.IndexerSearch
{
if (!season.Monitored)
{
_logger.Debug("Season {0} of {1} is not monitored, skipping seaarch", season.SeasonNumber, series.Title);
_logger.Debug("Season {0} of {1} is not monitored, skipping search", season.SeasonNumber, series.Title);
continue;
}