コード例 #1
0
        public void Setup()
        {
            _aniListClient = Substitute.For <IAniListClient>();
            _aniListClient.FindSeriesAsync(null, null)
            .ReturnsForAnyArgs(
                Left <ProcessFailedResult, IEnumerable <AniListSeriesData> >(
                    TestProcessResultContext.Failed("Failed")));

            _sources = new TestSources();

            _titleNormaliser = Substitute.For <ITitleNormaliser>();
            _titleNormaliser.GetNormalisedTitle(Arg.Any <string>()).Returns(x => $"Normalised{x.Arg<string>()}");

            _embyData = Substitute.For <IEmbyItemData>();
            _embyData.Identifier.Returns(new ItemIdentifier(0, 0, "Name"));
            _embyData.Language.Returns("en");

            _mediaItem = Substitute.For <IMediaItem>();
            _mediaItem.EmbyData.Returns(_embyData);
            _mediaItem.ItemType.Returns(MediaItemTypes.Series);

            _aniDbTitles     = new ItemTitleData[] { };
            _aniDbSourceData = Substitute.For <ISourceData <AniDbSeriesData> >();
            _aniDbSourceData.Data.Returns(x => new AniDbSeriesData
            {
                Titles = _aniDbTitles
            });

            _aniListConfiguration = Substitute.For <IAnilistConfiguration>();
            _aniListConfiguration.IsLinked.Returns(true);

            _loader = new AniListSeriesFromAniDb(_aniListClient, _sources, _titleNormaliser, _aniListConfiguration);
        }
コード例 #2
0
        public void SelectTitle_NoTitleSelected_ReturnsFailed()
        {
            var titles = new ItemTitleData[] { };

            _titleSelector.SelectTitle(titles, TitleType.Localized, "en")
            .Returns(Option <ItemTitleData> .None);

            var result = _aniDbSource.SelectTitle(titles, "en", new ProcessResultContext("", "", null));

            result.IsLeft.Should().BeTrue();
            result.IfLeft(f => f.Reason.Should().Be("Failed to find a title"));
        }
コード例 #3
0
        public void SelectTitle_TitleSelected_ReturnsTitle()
        {
            var titles = new ItemTitleData[] { };

            _titleSelector.SelectTitle(titles, TitleType.Localized, "en")
            .Returns(Option <ItemTitleData> .Some(new ItemTitleData
            {
                Title = "TitleName"
            }));

            var result = _aniDbSource.SelectTitle(titles, "en", new ProcessResultContext("", "", null));

            result.IsRight.Should().BeTrue();
            result.IfRight(r => r.Should().Be("TitleName"));
        }
        public void Setup()
        {
            _aniDbSource = Substitute.For <IAniDbSource>();

            _sources = Substitute.For <ISources>();
            _sources.AniDb.Returns(_aniDbSource);

            _embyItemData = Substitute.For <IEmbyItemData>();
            _embyItemData.Language.Returns("en");

            _aniDbSeriesTitles = new ItemTitleData[] { };
            var aniDbSeriesData = new AniDbSeriesData
            {
                Titles = _aniDbSeriesTitles
            };

            _embyItemData.Identifier.Returns(new ItemIdentifier(67, Option <int> .None, "Name"));
            _aniDbSource.GetSeriesData(_embyItemData, Arg.Any <ProcessResultContext>())
            .Returns(aniDbSeriesData);
        }