Exemplo n.º 1
0
        public async Task GetItemsAsync_Valid_ReturnResponse()
        {
            var content =
                "{\"results\":[{\"title\":\"Some title\",\"updated_date\":\"2020-05-02T06:40:13-04:00\",\"short_url\":\"https://nyti.ms/dfrty\"}]}";
            var expectedResult = new List <ArticleView>
            {
                new ArticleView
                {
                    Heading = "Some title",
                    Updated = DateTime.Parse("2020-05-02T06:40:13-04:00"),
                    Link    = "https://nyti.ms/dfrty"
                }
            };
            var httpClient = MockHttpClient(HttpStatusCode.OK, content);
            var mapperMock = new Mock <IMapper>();

            mapperMock
            .Setup(x => x.Map <IEnumerable <ArticleView> >(It.IsAny <object>()))
            .Returns(expectedResult);
            var articleClient = new ArticleHttpClient(httpClient, mapperMock.Object);

            var result = await articleClient.GetItemsAsync("section");

            Assert.AreEqual(result, expectedResult);
        }
Exemplo n.º 2
0
        public async Task IsAvailableAsync_NotAvailable_ReturnFalse()
        {
            var httpClient    = MockHttpClient(HttpStatusCode.ServiceUnavailable, "");
            var mapperMock    = new Mock <IMapper>();
            var articleClient = new ArticleHttpClient(httpClient, mapperMock.Object);

            var result = await articleClient.IsAvailableAsync();

            Assert.IsFalse(result);
        }
Exemplo n.º 3
0
        public async Task IsAvailableAsync_Available_ReturnTrue()
        {
            var httpClient    = MockHttpClient(HttpStatusCode.OK, "");
            var mapperMock    = new Mock <IMapper>();
            var articleClient = new ArticleHttpClient(httpClient, mapperMock.Object);

            var result = await articleClient.IsAvailableAsync();

            Assert.IsTrue(result);
        }
Exemplo n.º 4
0
        public void GetItemsAsync_ServerIsNotAvailable_ThrowException()
        {
            var httpClient    = MockHttpClient(HttpStatusCode.ServiceUnavailable, "", "Something went wrong");
            var mapperMock    = new Mock <IMapper>();
            var articleClient = new ArticleHttpClient(httpClient, mapperMock.Object);

            Assert.ThrowsAsync <Exception>(async() =>
            {
                await articleClient.GetItemsAsync("section");
            }, "Error was occured during connection to server. Code: 503. Reason: Something went wrong");
        }