From d1ce1bf218ba21d152106dcb75fec79f4492c1f6 Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Fri, 13 Mar 2015 21:08:00 +0100 Subject: [PATCH] Fixed: Season packs will no longer be grabbed if it contains an unmonitored episode. --- .../MonitoredEpisodeSpecificationFixture.cs | 8 ++++---- .../RssSync/MonitoredEpisodeSpecification.cs | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/NzbDrone.Core.Test/DecisionEngineTests/MonitoredEpisodeSpecificationFixture.cs b/src/NzbDrone.Core.Test/DecisionEngineTests/MonitoredEpisodeSpecificationFixture.cs index 85c61e73b..b1e57d534 100644 --- a/src/NzbDrone.Core.Test/DecisionEngineTests/MonitoredEpisodeSpecificationFixture.cs +++ b/src/NzbDrone.Core.Test/DecisionEngineTests/MonitoredEpisodeSpecificationFixture.cs @@ -91,17 +91,17 @@ namespace NzbDrone.Core.Test.DecisionEngineTests } [Test] - public void only_first_episode_not_monitored_should_return_monitored() + public void only_first_episode_not_monitored_should_return_false() { WithFirstEpisodeUnmonitored(); - _monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultMulti, null).Accepted.Should().BeTrue(); + _monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultMulti, null).Accepted.Should().BeFalse(); } [Test] - public void only_second_episode_not_monitored_should_return_monitored() + public void only_second_episode_not_monitored_should_return_false() { WithSecondEpisodeUnmonitored(); - _monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultMulti, null).Accepted.Should().BeTrue(); + _monitoredEpisodeSpecification.IsSatisfiedBy(_parseResultMulti, null).Accepted.Should().BeFalse(); } [Test] diff --git a/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/MonitoredEpisodeSpecification.cs b/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/MonitoredEpisodeSpecification.cs index 5a5490a19..bea800ece 100644 --- a/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/MonitoredEpisodeSpecification.cs +++ b/src/NzbDrone.Core/DecisionEngine/Specifications/RssSync/MonitoredEpisodeSpecification.cs @@ -33,13 +33,13 @@ namespace NzbDrone.Core.DecisionEngine.Specifications.RssSync return Decision.Reject("Series is not monitored"); } - //return monitored if any of the episodes are monitored - if (subject.Episodes.Any(episode => episode.Monitored)) + var monitoredCount = subject.Episodes.Count(episode => episode.Monitored); + if (monitoredCount == subject.Episodes.Count) { return Decision.Accept(); } - _logger.Debug("No episodes are monitored. skipping."); + _logger.Debug("Only {0}/{1} episodes are monitored. skipping.", monitoredCount, subject.Episodes); return Decision.Reject("Episode is not monitored"); } }