public void TestGetAdsShouldReturnAllAdsSortedByType() { var mockedContext = new Mock <IOnlineShopData>(); mockedContext.Setup(c => c.Ads).Returns(this.mock.AdRepositoryMock.Object); var adsController = new AdsController(mockedContext.Object); adsController.Request = new HttpRequestMessage(); adsController.Configuration = new HttpConfiguration(); var response = adsController.GetAds().ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var responseAds = response.Content .ReadAsAsync <IEnumerable <AdViewModel> >() .Result .Select(a => a.Id) .ToList(); var fakeAds = this.mock.AdRepositoryMock.Object.All() .Select(AdViewModel.Create) .OrderBy(a => a.Type) .ThenBy(a => a.PostDateTime) .Select(a => a.Id) .ToList(); CollectionAssert.AreEqual(fakeAds, responseAds); }
public void GetAllAds_Should_Return_Total_Ads_Sorted_By_TypeIndex() { // Arrange var fakeAds = this.mocks.AdRepositoryMock.Object.All(); var mockContext = new Mock <IOnlineShopData>(); var mockUserIdProvider = new Mock <IUserIdProvider>(); mockContext.Setup(c => c.Ads.All()) .Returns(fakeAds); var adsController = new AdsController(mockContext.Object, mockUserIdProvider.Object); this.SetupController(adsController); // Act var response = adsController.GetAds() .ExecuteAsync(CancellationToken.None).Result; // Assert 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); }
public void GetAllAds_Should_Return_Total_Ads_Sorted_By_TypeIndex() { var fakeAds = this.mocks.AdRepositoryMock.Object.All(); var mockContext = new Mock<IOnlineShopData>(); var mockUserIdProvider = new Mock<IUserIdProvider>(); mockContext.Setup(c => c.Ads.All()) .Returns(fakeAds); var adsController = new AdsController(mockContext.Object, mockUserIdProvider.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 .OrderBy(a => a.Type.Index) .ThenBy(a => a.PostedOn) .Select(a => a.Id) .ToList(); CollectionAssert.AreEqual(orderedFakeAds, adsResponse); }
public void GetAllAds_Should_Return_Total_Ads_Sorted_By_TypeIndex() { //Arrange var fakeAds = this.mocks.AdRepositoryMock.Object.All(); var mockContext = new Mock <IOnlineShopData>(); var mockUserIdProvider = new Mock <IUserIdProvider>(); mockContext.Setup(c => c.Ads.All()) .Returns(fakeAds); var adsController = new AdsController(mockContext.Object, mockUserIdProvider.Object); this.SetupController(adsController); //Act- invoke the GetAllAds() method from the controller. var response = adsController.GetAds() .ExecuteAsync(CancellationToken.None).Result; //Assert that the response status code is 200 OK Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); //Deserialize the response data with ReadAsAsync<T>(). Select only the IDs. var adsResponse = response.Content.ReadAsAsync <IEnumerable <AdViewModel> >() .Result.Select(a => a.Id) .ToList(); //Order the fake ads collection just like the controller does the ordering. //Select only the IDs. var orderedFakeAds = fakeAds .OrderBy(a => a.Type.Index) .ThenBy(a => a.PostedOn) .Select(a => a.Id) .ToList(); //Assert that the two collections have the same elements CollectionAssert.AreEqual(orderedFakeAds, adsResponse); }