|
|
@ -218,6 +218,10 @@ namespace NzbDrone.Core.Test
|
|
|
|
[Test]
|
|
|
|
[Test]
|
|
|
|
public void GetEpisodesBySeason_success()
|
|
|
|
public void GetEpisodesBySeason_success()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew()
|
|
|
|
|
|
|
|
.With(s => s.SeriesId = 12)
|
|
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
var episodes = Builder<Episode>.CreateListOfSize(10)
|
|
|
|
var episodes = Builder<Episode>.CreateListOfSize(10)
|
|
|
|
.WhereAll().Have(c => c.SeriesId = 12)
|
|
|
|
.WhereAll().Have(c => c.SeriesId = 12)
|
|
|
|
.WhereTheFirst(5).Have(c => c.SeasonNumber = 1)
|
|
|
|
.WhereTheFirst(5).Have(c => c.SeasonNumber = 1)
|
|
|
@ -227,7 +231,8 @@ namespace NzbDrone.Core.Test
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
|
|
|
|
|
|
|
|
episodes.ToList().ForEach(c => db.Insert(c));
|
|
|
|
db.Insert(fakeSeries);
|
|
|
|
|
|
|
|
db.InsertMany(episodes);
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
//Act
|
|
|
|
var seasonEposodes = mocker.Resolve<EpisodeProvider>().GetEpisodesBySeason(12, 2);
|
|
|
|
var seasonEposodes = mocker.Resolve<EpisodeProvider>().GetEpisodesBySeason(12, 2);
|
|
|
@ -257,7 +262,10 @@ namespace NzbDrone.Core.Test
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
mocker.SetConstant(MockLib.GetEmptyDatabase());
|
|
|
|
var db = MockLib.GetEmptyDatabase();
|
|
|
|
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db.Insert(fakeSeries);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
|
.Setup(c => c.GetSeries(seriesId, true))
|
|
|
|
.Setup(c => c.GetSeries(seriesId, true))
|
|
|
@ -292,10 +300,12 @@ namespace NzbDrone.Core.Test
|
|
|
|
|
|
|
|
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
mocker.SetConstant(MockLib.GetEmptyDatabase());
|
|
|
|
var db = MockLib.GetEmptyDatabase();
|
|
|
|
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db.Insert(fakeSeries);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
|
.Setup(c => c.GetSeries(seriesId, true))
|
|
|
|
.Setup(c => c.GetSeries(seriesId, true))
|
|
|
@ -335,7 +345,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
.Setup(d => d.Fetch<Episode, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Setup(d => d.Fetch<Episode, Series, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -362,7 +372,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
var currentEpisodes = new List<Episode>();
|
|
|
|
var currentEpisodes = new List<Episode>();
|
|
|
|
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
|
|
|
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
currentEpisodes.Add(new Episode { TvDbEpisodeId = tvDbEpisode.Id });
|
|
|
|
currentEpisodes.Add(new Episode { TvDbEpisodeId = tvDbEpisode.Id, Series = fakeSeries });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
@ -372,7 +382,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
.Setup(d => d.Fetch<Episode, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Setup(d => d.Fetch<Episode, Series, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
//Act
|
|
|
@ -397,12 +407,12 @@ namespace NzbDrone.Core.Test
|
|
|
|
)
|
|
|
|
)
|
|
|
|
.Build();
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
var fakeEpisodeList = new List<Episode> { new Episode { TvDbEpisodeId = 99, SeasonNumber = 10, EpisodeNumber = 10 } };
|
|
|
|
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
|
|
|
|
var fakeEpisodeList = new List<Episode> { new Episode { TvDbEpisodeId = 99, SeasonNumber = 10, EpisodeNumber = 10, Series = fakeSeries} };
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
.Setup(d => d.Fetch<Episode, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Setup(d => d.Fetch<Episode, Series, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Returns(fakeEpisodeList);
|
|
|
|
.Returns(fakeEpisodeList);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
|
mocker.GetMock<TvDbProvider>()
|
|
|
@ -442,7 +452,6 @@ namespace NzbDrone.Core.Test
|
|
|
|
|
|
|
|
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
var fakeSeries = Builder<Series>.CreateNew().With(c => c.SeriesId = seriesId).Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<TvDbProvider>(MockBehavior.Strict)
|
|
|
|
mocker.GetMock<TvDbProvider>(MockBehavior.Strict)
|
|
|
@ -450,7 +459,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
.Returns(tvdbSeries);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
.Setup(d => d.Fetch<Episode, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Setup(d => d.Fetch<Episode, Series, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Returns(new List<Episode> { localEpisode });
|
|
|
|
.Returns(new List<Episode> { localEpisode });
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
//Act
|
|
|
@ -474,7 +483,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
var currentEpisodes = new List<Episode>();
|
|
|
|
var currentEpisodes = new List<Episode>();
|
|
|
|
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
|
|
|
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
currentEpisodes.Add(new Episode { TvDbEpisodeId = tvDbEpisode.Id, EpisodeId = 99, EpisodeFileId = 69, Ignored = true });
|
|
|
|
currentEpisodes.Add(new Episode { TvDbEpisodeId = tvDbEpisode.Id, EpisodeId = 99, EpisodeFileId = 69, Ignored = true, Series = fakeSeries});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
@ -486,7 +495,7 @@ namespace NzbDrone.Core.Test
|
|
|
|
var updatedEpisodes = new List<Episode>();
|
|
|
|
var updatedEpisodes = new List<Episode>();
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
.Setup(d => d.Fetch<Episode, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Setup(d => d.Fetch<Episode, Series, EpisodeFile>(It.IsAny<String>(), It.IsAny<Object[]>()))
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
.Returns(currentEpisodes);
|
|
|
|
|
|
|
|
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
|
mocker.GetMock<IDatabase>()
|
|
|
@ -1288,5 +1297,63 @@ namespace NzbDrone.Core.Test
|
|
|
|
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
public void GetEpisodesByFileId_multi_episodes()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var db = MockLib.GetEmptyDatabase();
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var series = Builder<Series>.CreateNew()
|
|
|
|
|
|
|
|
.With(s => s.SeriesId = 10)
|
|
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var fakeEpisodes = Builder<Episode>.CreateListOfSize(2)
|
|
|
|
|
|
|
|
.WhereAll()
|
|
|
|
|
|
|
|
.Have(c => c.SeriesId = 10)
|
|
|
|
|
|
|
|
.Have(c => c.SeasonNumber = 1)
|
|
|
|
|
|
|
|
.Have(c => c.EpisodeFileId = 12345)
|
|
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db.Insert(series);
|
|
|
|
|
|
|
|
db.InsertMany(fakeEpisodes);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
|
|
|
|
var episodes = mocker.Resolve<EpisodeProvider>().GetEpisodesByFileId(12345);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
|
|
episodes.Should().HaveCount(2);
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
|
|
public void GetEpisodesByFileId_single_episode()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var db = MockLib.GetEmptyDatabase();
|
|
|
|
|
|
|
|
var mocker = new AutoMoqer();
|
|
|
|
|
|
|
|
mocker.SetConstant(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var series = Builder<Series>.CreateNew()
|
|
|
|
|
|
|
|
.With(s => s.SeriesId = 10)
|
|
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var fakeEpisode = Builder<Episode>.CreateNew()
|
|
|
|
|
|
|
|
.With(c => c.SeriesId = 10)
|
|
|
|
|
|
|
|
.With(c => c.SeasonNumber = 1)
|
|
|
|
|
|
|
|
.With(c => c.EpisodeFileId = 12345)
|
|
|
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
db.Insert(series);
|
|
|
|
|
|
|
|
db.Insert(fakeEpisode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Act
|
|
|
|
|
|
|
|
var episodes = mocker.Resolve<EpisodeProvider>().GetEpisodesByFileId(12345);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Assert
|
|
|
|
|
|
|
|
episodes.Should().HaveCount(1);
|
|
|
|
|
|
|
|
episodes.First().ShouldHave().AllPropertiesBut(e => e.Series).EqualTo(fakeEpisode);
|
|
|
|
|
|
|
|
mocker.VerifyAllMocks();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|