public async Task Should_return_top_10_makelaars() { var feeds = FeedsBuilder.Start .Makelaar("Makelaar1").HasFeeds(88) .Makelaar("Makelaar2").HasFeeds(57) .Makelaar("Makelaar3").HasFeeds(14) .Makelaar("Makelaar4").HasFeeds(75) .Makelaar("Makelaar5").HasFeeds(1) .Makelaar("Makelaar6").HasFeeds(20) .Makelaar("Makelaar7").HasFeeds(100) .Makelaar("Makelaar8").HasFeeds(68) .Makelaar("Makelaar9").HasFeeds(3) .Makelaar("Makelaar10").HasFeeds(44) .Makelaar("Makelaar11").HasFeeds(74) .Build(); var feedsService = new Mock <IFeedsService>(); feedsService.Setup(f => f.GetAllFeeds(false)).Returns(Task.FromResult(Result.Ok <ICollection <Feed> >(feeds))); var controller = new MakelaarsController(feedsService.Object); var result = await controller.Top10(); var makelaars = result.GetValue <MakelaarDto[]>(); result.ShouldHaveStatusCode(System.Net.HttpStatusCode.OK); makelaars.Length.Should().Be(10); makelaars[0].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar7", PropertiesForSale = 100 }); makelaars[1].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar1", PropertiesForSale = 88 }); makelaars[2].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar4", PropertiesForSale = 75 }); makelaars[3].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar11", PropertiesForSale = 74 }); makelaars[4].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar8", PropertiesForSale = 68 }); makelaars[5].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar2", PropertiesForSale = 57 }); makelaars[6].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar10", PropertiesForSale = 44 }); makelaars[7].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar6", PropertiesForSale = 20 }); makelaars[8].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar3", PropertiesForSale = 14 }); makelaars[9].Should().BeEquivalentTo(new MakelaarDto { Name = "Makelaar9", PropertiesForSale = 3 }); }
public async Task Should_return_500_error_if_api_request_fails() { var feedsService = new Mock <IFeedsService>(); feedsService.Setup(f => f.GetAllFeeds(false)).Returns(Task.FromResult(Result.Fail <ICollection <Feed> >("Error"))); var controller = new MakelaarsController(feedsService.Object); var result = await controller.Top10(); result.ShouldHaveStatusCode(System.Net.HttpStatusCode.InternalServerError); }