public void GetAllAds_Should_Return_Total_Ads_Sorted_By_TypeIndex() { var fakeAds = this.mocks.AdRepositoryMock.Object.All(); var mockContext = new Mock<IOnlineShopData>(); mockContext.Setup(c => c.Ads).Returns(this.mocks.AdRepositoryMock.Object); var mockIdProvider = new Mock<IUserIdProvider>(); var adsController = new AdsController(mockContext.Object, mockIdProvider.Object); this.SetupController(adsController); var response = adsController.GetAds().ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var adsResponse = response.Content.ReadAsAsync<IEnumerable<AdViewModel>>().Result .Select(a => a.Id) .ToList(); var orderedFakeAds = fakeAds .OrderByDescending(a => a.Type.Index) .ThenBy(a => a.PostedOn) .Select(a => a.Id) .ToList(); CollectionAssert.AreEqual(orderedFakeAds, adsResponse); }