Пример #1
0
        public async Task ReturnsTrueWhenWikiProbeReturnsOk(WikiProbeResult probeResult, bool expected)
        {
            var gitHubHost   = HostAddress.GitHubDotComHostAddress;
            var gitHubClient = Substitute.For <IGitHubClient>();
            var repository   = CreateRepository(42, true);

            gitHubClient.Repository.Get("github", "visualstudio").Returns(Task.FromResult(repository));
            var enterpriseProbe = Substitute.For <IEnterpriseProbeTask>();
            var wikiProbe       = Substitute.For <IWikiProbe>();

            wikiProbe.ProbeAsync(repository)
            .Returns(_ => Task.FromResult(probeResult), _ => { throw new Exception("Only call it once"); });
            var client = new SimpleApiClient(
                gitHubHost,
                "https://github.com/github/visualstudio",
                gitHubClient,
                new Lazy <IEnterpriseProbeTask>(() => enterpriseProbe),
                new Lazy <IWikiProbe>(() => wikiProbe));
            await client.GetRepository();

            var result = client.HasWiki();

            Assert.Equal(expected, result);
            Assert.Equal(expected, client.HasWiki());
        }
Пример #2
0
        public override async void Invalidate()
        {
            var visible = await IsAGitHubRepo(ActiveRepoUri);

            if (visible)
            {
                var repo = await SimpleApiClient.GetRepository();

                visible = repo.HasWiki && SimpleApiClient.HasWiki();
            }
            IsVisible = visible;
        }
Пример #3
0
        public void ReturnsFalseWhenWeHaveNotRequestedRepository()
        {
            var gitHubHost      = HostAddress.GitHubDotComHostAddress;
            var gitHubClient    = Substitute.For <IGitHubClient>();
            var enterpriseProbe = Substitute.For <IEnterpriseProbe>();
            var wikiProbe       = Substitute.For <IWikiProbe>();
            var client          = new SimpleApiClient(
                "https://github.com/github/visualstudio",
                gitHubClient,
                new Lazy <IEnterpriseProbe>(() => enterpriseProbe),
                new Lazy <IWikiProbe>(() => wikiProbe));

            var result = client.HasWiki();

            Assert.False(result);
        }