public async void Given_Parameters_GetPublishedHtmlAsync_ShouldReturn_Html(string markdown, string html)
        {
            this._markdownHelper.Setup(p => p.Parse(It.IsAny <string>())).Returns(html);
            this._settings.SetupGet(p => p.Theme).Returns(this._defaultThemeName);

            var message = new HttpResponseMessage {
                Content = new StringContent(html)
            };

            var handler = new HttpResponseHandlerFake(message);
            var client  = new HttpClient(handler)
            {
                BaseAddress = new Uri("http://localhost:5080")
            };

            this._httpClientHelper.Setup(p => p.CreateHttpClient(It.IsAny <HttpRequest>(), It.IsAny <HttpMessageHandler>())).Returns(client);

            var content = new StringContent(html, Encoding.UTF8);

            this._httpClientHelper.Setup(p => p.CreateStringContent(It.IsAny <object>())).Returns(content);

            var result = await this._service.GetPublishedHtmlAsync(markdown, this._request.Object).ConfigureAwait(false);

            result.Should().Be(html);
        }
        public async void Given_Parameters_PublishPostAsync_ShouldReturn_Result(string markdownpath, string htmlpath)
        {
            var markdown = "**Hello World**";
            var html     = "<strong>Joe Bloggs</strong>";

            this._fileHelper.Setup(p => p.GetDirectory(It.IsAny <IApplicationEnvironment>(), It.IsAny <string>())).Returns(this._filepath);
            this._fileHelper.Setup(p => p.WriteAsync(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(true));

            this._markdownHelper.Setup(p => p.Parse(It.IsAny <string>())).Returns(html);
            this._settings.SetupGet(p => p.Theme).Returns(this._defaultThemeName);

            var message = new HttpResponseMessage {
                Content = new StringContent(html)
            };

            var handler = new HttpResponseHandlerFake(message);
            var client  = new HttpClient(handler)
            {
                BaseAddress = new Uri("http://localhost:5080")
            };

            this._httpClientHelper.Setup(p => p.CreateHttpClient(It.IsAny <HttpRequest>(), It.IsAny <HttpMessageHandler>())).Returns(client);

            var content = new StringContent(html, Encoding.UTF8);

            this._httpClientHelper.Setup(p => p.CreateStringContent(It.IsAny <object>())).Returns(content);

            var publishedpath = await this._service.PublishPostAsync(markdown, this._env.Object, this._request.Object).ConfigureAwait(false);

            publishedpath.Markdown.Should().BeEquivalentTo(markdownpath);
            publishedpath.Html.Should().BeEquivalentTo(htmlpath);
        }
        public async void GIven_OrgName_GetOrgReposAsync_ShouldReturn_Result(string orgName)
        {
            // Arrange
            var json    = $"[{{\"name\": \"{orgName}\"}}]";
            var message = new HttpResponseMessage {
                Content = new StringContent(json)
            };

            var handler = new HttpResponseHandlerFake(message);
            var client  = new HttpClient(handler)
            {
                BaseAddress = new Uri("http://localhost:34015")
            };

            this._helper.Setup(p => p.CreateInstance(It.IsAny <HttpMessageHandler>())).Returns(client);

            // Act
            var result = await this._service.GetOrgReposAsync(orgName).ConfigureAwait(false);

            // Assert
            result.Should().NotBeNullOrWhiteSpace();
            result.Should().ContainEquivalentOf($"\"{orgName}\"");
        }