public void CanLoadFrom_WrongItemType_IsFalse() { var sourceData = Substitute.For <ISourceData <AniDbSeriesData> >(); var loader = new AniDbSeriesFromAniDbEpisode(_sources); loader.CanLoadFrom(sourceData).Should().BeFalse(); }
public void CanLoadFrom_CorrectItemType_IsTrue() { var sourceData = Substitute.For <ISourceData <AniDbEpisodeData> >(); var loader = new AniDbSeriesFromAniDbEpisode(_sources); loader.CanLoadFrom(sourceData).Should().BeTrue(); }
public async Task LoadFrom_NoMatchingSeries_Fails() { _aniDbSource.GetSeriesData(_mediaItem.EmbyData, Arg.Any <ProcessResultContext>()) .Returns(Left <ProcessFailedResult, AniDbSeriesData>(new ProcessFailedResult("", "", MediaItemTypes.Series, "Failed to find series in AniDb"))); var loader = new AniDbSeriesFromAniDbEpisode(_sources); var result = await loader.LoadFrom(_mediaItem, null); result.IsLeft.Should().BeTrue(); result.IfLeft(f => f.Reason.Should().Be("Failed to find series in AniDb")); }
public async Task LoadFrom_CreatesSourceData() { _sources.AniDb.SelectTitle(_aniDbSeriesData.Titles, "en", Arg.Any <ProcessResultContext>()) .Returns("Title"); var loader = new AniDbSeriesFromAniDbEpisode(_sources); var result = await loader.LoadFrom(_mediaItem, null); result.IsRight.Should().BeTrue(); result.IfRight(sd => sd.Data.Should().Be(_aniDbSeriesData)); result.IfRight(sd => sd.Source.Should().BeEquivalentTo(_sources.AniDb.ForAdditionalData())); result.IfRight(sd => sd.Identifier.Should().BeEquivalentTo(new ItemIdentifier(67, Option <int> .None, "Title"))); }
public void CanLoadFrom_Null_IsFalse() { var loader = new AniDbSeriesFromAniDbEpisode(_sources); loader.CanLoadFrom(null).Should().BeFalse(); }