mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 21:43:33 -07:00
SeasonProvider Added to handle ignoring of Seasons.
This commit is contained in:
parent
d27f14d7aa
commit
969f8ae5e2
10 changed files with 265 additions and 186 deletions
|
@ -439,7 +439,6 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
result.Should().HaveSameCount(fakeEpisodes.Episodes);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void RefreshEpisodeInfo_ignore_season_zero()
|
||||
{
|
||||
|
@ -466,6 +465,10 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
.Setup(c => c.GetSeries(seriesId, true))
|
||||
.Returns(fakeEpisodes);
|
||||
|
||||
Mocker.GetMock<SeasonProvider>()
|
||||
.Setup(s => s.IsIgnored(seriesId, 0))
|
||||
.Returns(true);
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<EpisodeProvider>().RefreshEpisodeInfo(fakeSeries);
|
||||
|
||||
|
@ -694,6 +697,10 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
.Setup(c => c.GetSeries(seriesId, true))
|
||||
.Returns(tvdbSeries);
|
||||
|
||||
Mocker.GetMock<SeasonProvider>()
|
||||
.Setup(s => s.IsIgnored(seriesId, It.IsAny<int>()))
|
||||
.Returns(true);
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<EpisodeProvider>().RefreshEpisodeInfo(fakeSeries);
|
||||
|
||||
|
@ -704,180 +711,6 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
result.Where(e => e.Ignored).Should().HaveCount(episodeCount);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_true_if_all_episodes_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.Ignored = true)
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 2)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 2);
|
||||
|
||||
//Assert
|
||||
result.Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_none_of_episodes_are_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.Ignored = false)
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 2)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 2);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_some_of_episodes_are_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 2)
|
||||
.With(c => c.Ignored = true)
|
||||
.Build();
|
||||
|
||||
episodes[2].Ignored = false;
|
||||
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 2);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_zero_episodes_in_db_for_season()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 3)
|
||||
.With(c => c.Ignored = true)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 2);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_true_if_zero_episodes_in_db_for_season_and_previous_is_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 3)
|
||||
.With(c => c.Ignored = true)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 4);
|
||||
|
||||
//Assert
|
||||
result.Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_zero_episodes_in_db_for_season_and_previous_is_not_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 3)
|
||||
.With(c => c.Ignored = false)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 4);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_zero_episodes_in_db_for_season_one()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 1);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_true_if_zero_episodes_in_db_for_season_zero()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 0);
|
||||
|
||||
//Assert
|
||||
result.Should().BeTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsSeasonIgnored_should_return_false_if_season_zero_is_not_ignored()
|
||||
{
|
||||
WithRealDb();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = 10)
|
||||
.With(c => c.SeasonNumber = 0)
|
||||
.With(c => c.Ignored = false)
|
||||
.Build();
|
||||
|
||||
episodes.ToList().ForEach(c => Db.Insert(c));
|
||||
|
||||
//Act
|
||||
var result = Mocker.Resolve<EpisodeProvider>().IsIgnored(10, 0);
|
||||
|
||||
//Assert
|
||||
result.Should().BeFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Explicit]
|
||||
public void Add_daily_show_episodes()
|
||||
|
@ -1049,6 +882,10 @@ namespace NzbDrone.Core.Test.ProviderTests
|
|||
.With(e => e.Ignored = false)
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<SeasonProvider>()
|
||||
.Setup(s => s.IsIgnored(newEpisode.SeriesId, newEpisode.SeasonNumber))
|
||||
.Returns(true);
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<EpisodeProvider>().AddEpisode(newEpisode);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue