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); }
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); }
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); }
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"); }