public void GetallAds_Should_Return_Total_Ads_Sorted_By_TypeIndex() { var fakeAds = this.mocks.AdRepositoryMock.Object.All(); var mockContext = new Mock<IOnlineShopData>(); mockContext.Setup(ctx => ctx.Ads.All()).Returns(fakeAds.AsQueryable()); var adsController = new AdsController(mockContext.Object); this.ConfigureController(adsController); var response = adsController.All().ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var adsResponse = response.Content.ReadAsAsync<IEnumerable<AdViewModel>>().Result .Select(a => new { a.Id }).ToList(); var orderedFakeAds = fakeAds .OrderByDescending(a => a.Type.Index) .ThenByDescending(a => a.PostedOn) .Select(a => new { a.Id }) .ToList(); CollectionAssert.AreEqual(adsResponse, orderedFakeAds); }
public async Task AllShouldReturnViewWithCorrectModel() { // Arrange var adService = this.AdServiceMockForAll(); var controller = new AdsController(adService.Object); // Act var result = await controller.All(); // Assert result.Should().BeOfType <ViewResult>(); var adModel = result.As <ViewResult>().Model.As <List <AdListingServiceModel> >(); adModel.Should().Match(c => c.As <List <AdListingServiceModel> >().Count == 1); adModel.First().Should().Match(c => c.As <AdListingServiceModel>().Id == 1); }