コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }