Пример #1
0
        public async Task CheckConnectedAsync_ReturnWelcomeMessage_WhenReturnTrue()
        {
            // Arrange
            m_MockArticlesService.Setup(service => service.IsConnectedAsync()).ReturnsAsync((true, null));
            var welcomeMessage = "Hello!";

            // Act
            var result = await m_Browser.Get("/", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.IsConnectedAsync(), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(Converter.ToJson(welcomeMessage), result.Body.AsString());
        }
Пример #2
0
        public async Task CheckConnectedAsync_ReturnInvalidApiKeyMessage_WhenReturnFalse()
        {
            // Arrange
            var invalidKeyMessage = "Invalid ApiKey";

            m_MockArticlesService.Setup(service => service.IsConnectedAsync()).ReturnsAsync((false, invalidKeyMessage));

            // Act
            var result = await m_Browser.Get("/", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.IsConnectedAsync(), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(Converter.ToJson(invalidKeyMessage), result.Body.AsString());
        }
Пример #3
0
        public async Task GetArticlesAsync_ReturnArticles_WhenGetArticlesSource()
        {
            // Arrange
            var articlesSource = ARTICLE_SOURCES.ToList();

            m_MockArticlesService.Setup(service => service.GetArticlesAsync(SECTION)).ReturnsAsync(articlesSource);
            var expectArticles = Converter.ToJson(articlesSource.Select(articleSource => new ArticleView(articleSource)).ToList());

            // Act
            var result = await m_Browser.Get($"/list/{SECTION}", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.GetArticlesAsync(SECTION), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(expectArticles, result.Body.AsString());
        }
Пример #4
0
        public async Task GetArticlesGroupsByDateAsync_ReturnArticles_WhenGetArticlesSourceGroupsByDate()
        {
            // Arrange
            var articleGroups = ARTICLE_SOURCES.GroupBy(sourceArticle => sourceArticle.UpdatedDate.Date)
                                .Select(group => (group.Key.ToString(DATE_FORMAT), group.Count())).ToList();

            m_MockArticlesService.Setup(service => service.GetArticlesGroupsByDateAsync(SECTION, DATE_FORMAT)).ReturnsAsync(articleGroups);
            var expectArticleGroups = Converter.ToJson(articleGroups.Select(group => new ArticleGroupByDateView(group.Item1, group.Item2)).ToList());

            // Act
            var result = await m_Browser.Get($"/group/{SECTION}", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.GetArticlesGroupsByDateAsync(SECTION, DATE_FORMAT), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(expectArticleGroups, result.Body.AsString());
        }
Пример #5
0
        public async Task GetArticlesByShortUrlAsync_ReturnArticles_WhenGetArticlesSourceByShortUrl()
        {
            // Arrange
            var articleSource = ARTICLE_SOURCES.First();
            var shortUrl      = articleSource.ShortUrl;

            m_MockArticlesService.Setup(service => service.GetArticlesByShortUrlAsync(shortUrl, SHORT_URL_FORMAT)).ReturnsAsync(articleSource);
            var expectArticle = Converter.ToJson(new ArticleView(articleSource));

            // Act
            var result = await m_Browser.Get($"/article/{shortUrl}", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.GetArticlesByShortUrlAsync(shortUrl, SHORT_URL_FORMAT), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(expectArticle, result.Body.AsString());
        }
Пример #6
0
        public async Task GetArticlesByDateAsync_ReturnArticles_WhenGetArticlesSourceByDate()
        {
            // Arrange
            var updatedDate    = ARTICLE_SOURCES.First().UpdatedDate;
            var updatedDateStr = updatedDate.ToString(DATE_FORMAT);
            var articlesSource = ARTICLE_SOURCES.Where(articleSource => articleSource.UpdatedDate == updatedDate).ToList();

            m_MockArticlesService.Setup(service => service.GetArticlesByDateAsync(SECTION, updatedDateStr, DATE_FORMAT)).ReturnsAsync(articlesSource);
            var expectArticles = Converter.ToJson(articlesSource.Select(articleSource => new ArticleView(articleSource)).ToList());

            // Act
            var result = await m_Browser.Get($"/list/{SECTION}/{updatedDateStr}", with => {
                with.HttpRequest();
            });

            // Assert
            m_MockArticlesService.Verify(service => service.GetArticlesByDateAsync(SECTION, updatedDateStr, DATE_FORMAT), Times.Once);
            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
            Assert.Equal(expectArticles, result.Body.AsString());
        }