public HackerNewsControllerTest() { _mockHackerNewsService = new Mock <IHackerNewsService>(); _hackerNewsController = new HackerNewsController(null, _mockHackerNewsService.Object); _hackerNewsController.ControllerContext = new ControllerContext(); _hackerNewsController.ControllerContext.HttpContext = new DefaultHttpContext(); }
public async void VerifyValidIdReturnsItem() { //Arrange var hackerNewsService = new Mock <IHackerNewsAPI>(); var cacheService = new MemoryCache(new MemoryCacheOptions());//new Mock<IMemoryCache>(); //crate the mock object Item item = new Item { url = "thisisatest.com", title = "This is a Test" }; hackerNewsService.Setup(x => x.GetItemDetailsAsync(It.IsInRange <int>(1, 3, Range.Inclusive))).ReturnsAsync(item); var controller = new HackerNewsController(hackerNewsService.Object, cacheService); //Act int testId = 1; var actionResult = await controller.GetItemDetails(testId); //Assert var result = actionResult.Result as OkObjectResult; Assert.NotNull(result); var model = Assert.IsType <Item>(result.Value); Assert.Equal("thisisatest.com", model.url); Assert.Equal("This is a Test", model.title); }
public async void AssertGetNewestStoriesReturnsList() { //Arrange var hackerNewsService = new Mock <IHackerNewsAPI>(); var cacheService = new MemoryCache(new MemoryCacheOptions());//new Mock<IMemoryCache>(); List <int> ids = new List <int> { 1, 2, 3, 4 }; hackerNewsService.Setup(x => x.GetNewestStoriesAsync()).ReturnsAsync(ids); var controller = new HackerNewsController(hackerNewsService.Object, cacheService); //Act var actionResult = await controller.GetNewestStories(); //assert //var result = Assert.IsType<ActionResult<List<int>>>(actionResult); var result = actionResult.Result as OkObjectResult; Assert.NotNull(result); var model = Assert.IsType <List <int> >(result.Value); Assert.Equal(4, model.Count); //var model = Assert.IsAssignableFrom<OkObjectResult>(result.Value); //Assert.Equal(4, result); }
public GetLatestHackerNewsTests() { _businessLayer = new Mock <IHackerNewsBusinessLayer>(MockBehavior.Strict); _businessLayer.Setup(x => x.GetLatestHackerNewsAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()) ).ReturnsAsync(MockHackerNewsContractFactory.CreateHackerNewsData()); _controller = new HackerNewsController(_businessLayer.Object); }
public void TestDetailsView() { var controller = new HackerNewsController(); var result = controller.Get(10); string r = result.ToString(); Assert.NotNull(result); }
public void NumPagesTest_ShouldThrowException(int[] latestNewsIds, int pageSize) { // Arrange var mockRepo = new Mock <INewsService>(); mockRepo.Setup(repo => repo.GetIdsAsync()) .ReturnsAsync(latestNewsIds); var controller = new HackerNewsController(mockRepo.Object); // Act & Assert Assert.That(() => controller.CalculateNumPages(latestNewsIds, pageSize), Throws.Exception); }
public void VerifGetNewestStoriesReturnTypeTest() { //Arrange var hackerNewsService = new Mock <IHackerNewsAPI>(); var cacheService = new MemoryCache(new MemoryCacheOptions());//new Mock<IMemoryCache>(); var controller = new HackerNewsController(hackerNewsService.Object, cacheService); //Act var result = controller.GetNewestStories(); //assert Assert.IsType <Task <ActionResult <List <int> > > >(result); }
public async Task TestMethod1() { HackerNewsController hackerNewsController = new HackerNewsController(_logger); var articleIds = await hackerNewsController.Get(); Assert.IsNotNull(articleIds); var firstId = articleIds.First(); Assert.IsInstanceOfType(firstId, typeof(int)); var articleDetail = await hackerNewsController.Get(firstId.ToString()); Assert.IsNotNull(articleDetail); }
public async Task GetNewStoriesTest() { var services = new ServiceCollection(); services.AddMemoryCache(); var serviceProvider = services.BuildServiceProvider(); var memoryCache = serviceProvider.GetService <IMemoryCache>(); var hackerNewsRepo = new HackerNews.API.Data.HackerNewsRepository(new TestHackerNewsClient(), memoryCache); var controller = new HackerNewsController(hackerNewsRepo); var result = await controller.GetNewStories(); Assert.IsNotNull(result); }
public void NumPagesTest_Variable(int[] latestNewsIds, int pageSize, int expectedNumPages) { // Arrange var mockRepo = new Mock <INewsService>(); mockRepo.Setup(repo => repo.GetIdsAsync()) .ReturnsAsync(latestNewsIds); var controller = new HackerNewsController(mockRepo.Object); // Act int numPagesResult = controller.CalculateNumPages(latestNewsIds, pageSize); // Assert Assert.AreEqual(expectedNumPages, numPagesResult); }
public void CalculatePageStartIndex_Variable(int[] latestNewsIds, int pageNum, int pageSize, int expectedStartIndex) { // Arrange var mockRepo = new Mock <INewsService>(); mockRepo.Setup(repo => repo.GetIdsAsync()) .ReturnsAsync(latestNewsIds); var controller = new HackerNewsController(mockRepo.Object); // Act int startIndexResult = controller.CalculatePageStartIndex(latestNewsIds, pageNum, pageSize); // Assert Assert.AreEqual(expectedStartIndex, startIndexResult); }
public async void Controller_Search() { // Arrange string searchTerm = "YOLO"; var mockRepo = new Mock <IHackerNewsCachedService>(); mockRepo.Setup(repo => repo.SearchTopStoriesAsync(searchTerm)) .Returns(GetMockHackerNewsArticles()); var logger = GetLogger(); var controller = new HackerNewsController(logger, mockRepo.Object); // Act var rv = await controller.Get(searchTerm); var result = rv.ToArray(); // Assert var type = Assert.IsType <List <IHackerNewsArticle> >(rv); Assert.Equal(8863, result[0].Id); Assert.Equal("My YC app: Dropbox - Throw away your USB drive", result[0].Title); }
public void Controller_Get() { // Arrange var mockRepo = new Mock <IHackerNewsCachedService>(); mockRepo.Setup(repo => repo.GetAllTopStoriesAsync()) .Returns(GetMockHackerNewsArticles()); var logger = GetLogger(); var controller = new HackerNewsController(logger, mockRepo.Object); // Act var rv = controller.Get(); var result = rv.Result.ToArray(); // Assert var type = Assert.IsType <Task <IEnumerable <IHackerNewsArticle> > >(rv); // TODO: change this to result Assert.Equal(2, result.Count()); Assert.Equal(8863, result[0].Id); Assert.Equal("My YC app: Dropbox - Throw away your USB drive", result[0].Title); Assert.Equal(8864, result[1].Id); Assert.Equal("https://rust-analyzer.github.io/blog/2020/04/20/first-release.html", result[1].Url); }
public async Task GetTop20NewsAsync_ShouldReturnAllNews() { // Arrange var logger = GetLogger(); var mockRepo = new Mock <INewsRepository>(); mockRepo.Setup(repo => repo .GetNews(20)) .Returns(Task.FromResult(GetTestNews())); var mapper = GetMapper(); var controller = new HackerNewsController(logger, mockRepo.Object, mapper); // Act var actionResponse = await controller.GetTop20NewsAsync(); // Assert var actionResult = actionResponse.Should().BeOfType <OkObjectResult>().Subject; var newsResponse = actionResult.Value.Should().BeAssignableTo <List <NewsDto> >().Subject; newsResponse.Count.Should().Be(20); }
public HackerNewsControllerTest() { service = A.Fake <IHackerNewsService>(); controller = new HackerNewsController(service); }