Fixed: fixed an issue where season ignore check wasn't working correctly.

Fixed: unavailable nzbdrone service will no longer block series from being added.
This commit is contained in:
kay.one 2012-02-27 21:50:56 -08:00
commit c5df00cc87
15 changed files with 222 additions and 360 deletions

View file

@ -1020,122 +1020,6 @@ namespace NzbDrone.Core.Test.ProviderTests
Mocker.VerifyAllMocks();
}
[Test]
public void IgnoreSeason_Ignore()
{
WithRealDb();
var episodes = Builder<Episode>.CreateListOfSize(4)
.All()
.With(c => c.SeriesId = 10)
.With(c => c.SeasonNumber = 1)
.With(c => c.Ignored = false)
.Build().ToList();
episodes.ForEach(c => Db.Insert(c));
//Act
Mocker.Resolve<EpisodeProvider>().SetSeasonIgnore(10, 1, true);
//Assert
var episodesInDb = Db.Fetch<Episode>(@"SELECT * FROM Episodes");
episodesInDb.Should().HaveCount(4);
episodesInDb.Where(e => e.Ignored).Should().HaveCount(4);
Mocker.VerifyAllMocks();
}
[Test]
public void IgnoreSeason_RemoveIgnore()
{
WithRealDb();
var episodes = Builder<Episode>.CreateListOfSize(4)
.All()
.With(c => c.SeriesId = 10)
.With(c => c.SeasonNumber = 1)
.With(c => c.Ignored = true)
.Build().ToList();
episodes.ForEach(c => Db.Insert(c));
//Act
Mocker.Resolve<EpisodeProvider>().SetSeasonIgnore(10, 1, false);
//Assert
var episodesInDb = Db.Fetch<Episode>(@"SELECT * FROM Episodes");
episodesInDb.Should().HaveCount(4);
episodesInDb.Where(e => !e.Ignored).Should().HaveCount(4);
Mocker.VerifyAllMocks();
}
[Test]
public void IgnoreSeason_Ignore_Half()
{
WithRealDb();
var episodes = Builder<Episode>.CreateListOfSize(4)
.All()
.With(c => c.SeriesId = 10)
.With(c => c.SeasonNumber = 1)
.With(c => c.Ignored = true)
.TheFirst(2)
.With(c => c.Ignored = false)
.Build().ToList();
episodes.ForEach(c => Db.Insert(c));
//Act
Mocker.Resolve<EpisodeProvider>().SetSeasonIgnore(10, 1, true);
//Assert
var episodesInDb = Db.Fetch<Episode>(@"SELECT * FROM Episodes");
episodesInDb.Should().HaveCount(4);
episodesInDb.Where(e => e.Ignored).Should().HaveCount(4);
Mocker.VerifyAllMocks();
}
[Test]
public void IgnoreSeason_should_call_SetIgnore_in_season_provider_one_time_only()
{
WithRealDb();
var episodes = Builder<Episode>.CreateListOfSize(4)
.All()
.With(c => c.SeriesId = 10)
.With(c => c.SeasonNumber = 1)
.With(c => c.Ignored = false)
.Build().ToList();
var season = new Season
{
SeriesId = 10,
SeasonNumber = 1,
Ignored = false
};
Db.Insert(season);
Db.InsertMany(episodes);
Mocker.GetMock<SeasonProvider>().Setup(s => s.SetIgnore(10, 1, true)).Verifiable();
//Act
Mocker.Resolve<EpisodeProvider>().SetSeasonIgnore(10, 1, true);
//Assert
var episodesInDb = Db.Fetch<Episode>(@"SELECT * FROM Episodes");
episodesInDb.Should().HaveCount(4);
episodesInDb.Where(e => e.Ignored).Should().HaveCount(4);
Mocker.GetMock<SeasonProvider>().Verify(s => s.SetIgnore(10, 1, true), Times.Once());
}
[Test]
public void EpisodesWithoutFiles_no_specials()
{