public async Task LoadFrom_NoSeriesMapping_Fails() { this.CreateAniDbSeries(342, "SeriesName"); var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); var result = await loader.LoadFrom(this.mediaItem, this.aniDbSourceData); result.IsLeft.Should().BeTrue(); result.IfLeft(f => f.Should().Be(this.noMappingResult)); }
public async Task LoadFrom_NoTvDbIdOnMapping_Fails() { this.CreateAniDbSeries(342, "SeriesName"); this.SetUpSeriesMapping(342, null); var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); var result = await loader.LoadFrom(this.mediaItem, this.aniDbSourceData); result.IsLeft.Should().BeTrue(); result.IfLeft(f => f.Reason.Should().Be("No TvDb Id found on matching mapping")); }
public async Task LoadFrom_NoAniDbIdOnSourceData_Fails() { this.aniDbSourceData.Id.Returns(Option <int> .None); var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); var result = await loader.LoadFrom(this.mediaItem, this.aniDbSourceData); result.IsLeft.Should().BeTrue(); result.IfLeft(f => f.Reason.Should().Be("No AniDb Id found on the AniDb data associated with this media item")); }
public async Task LoadFrom_FailsToLoadTvDbSeries_Fails() { this.CreateAniDbSeries(342, "SeriesName"); this.SetUpSeriesMapping(342, 66); this.sources.TvDb.GetSeriesData(66, Arg.Any <ProcessResultContext>()) .Returns(new ProcessFailedResult(string.Empty, string.Empty, MediaItemTypes.Series, "Failed")); var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); var result = await loader.LoadFrom(this.mediaItem, this.aniDbSourceData); result.IsLeft.Should().BeTrue(); result.IfLeft(f => f.Reason.Should().Be("Failed")); }
public async Task LoadFrom_MapsToTvDbSeries() { this.CreateAniDbSeries(342, "SeriesName"); this.SetUpSeriesMapping(342, 66); var tvDbSeriesData = TvDbTestData.Series(66); this.sources.TvDb.GetSeriesData(66, Arg.Any <ProcessResultContext>()) .Returns(tvDbSeriesData); var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); var result = await loader.LoadFrom(this.mediaItem, this.aniDbSourceData); result.IsRight.Should().BeTrue(); result.IfRight(sd => sd.Data.Should().Be(tvDbSeriesData)); result.IfRight(sd => sd.Source.Should().Be(this.sources.TvDb)); result.IfRight(sd => sd.Id.ValueUnsafe().Should().Be(66)); result.IfRight(sd => sd.Identifier.Should().BeEquivalentTo(new ItemIdentifier(Option <int> .None, Option <int> .None, string.Empty))); }
public void CanLoadFrom_TypeMatch_IsTrue() { var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); loader.CanLoadFrom(Substitute.For <ISourceData <AniDbSeriesData> >()).Should().BeTrue(); }
public void CanLoadFrom_Null_IsFalse() { var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); loader.CanLoadFrom(null).Should().BeFalse(); }
public void CanLoadFrom_TypeMisMatch_IsFalse() { var loader = new TvDbSeriesFromAniDb(this.sources, this.mappingList); loader.CanLoadFrom(new object()).Should().BeFalse(); }