public async Task WhenInValidUrlPassed_ToRssFeedWebApi_ReturnFailResultWithoutFeeds() { //Arrage var rssFeed = JsonConvert.SerializeObject(TestDataGenerator.CreateFakeErrorRssFeedModel()); var responseMessage = new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(rssFeed, System.Text.Encoding.UTF8, "application/json"), }; var messageHandler = new FakeHttpMessageHandler(responseMessage); var _httpClientManager = new HttpClientManager(messageHandler); //Act var response = await _httpClientManager.GetRssFeeds(); // Assert Assert.IsTrue(response != null && response.Feeds != null); Assert.IsTrue(response.Feeds.Count <= 0); Assert.IsTrue(response.Result != null && response.Result.ResultStatus == ResultStatus.Fail); }
public async Task WhenExceptionOccuredOn_RssFeedCall_ReturnErrorResult() { // Arrange var mockedNewsFeedManager = new Mock <INewsFeedManager>(); NewsController newController = new NewsController(mockedNewsFeedManager.Object); mockedNewsFeedManager.Setup(m => m.GetRssFeeds()).Returns(Task.FromResult(TestDataGenerator.CreateFakeErrorRssFeedModel())); // Act var result = await newController.Index() as ViewResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Model != null); var model = (RssFeedViewModel)result.Model; Assert.IsTrue(model != null && model.Feeds != null && model.Feeds.Count <= 0); Assert.IsTrue(model != null && model.Result != null && model.Result.ResultStatus == ResultStatus.Error); }