public async void All_Not_Exists() { PostsControllerMockFacade mock = new PostsControllerMockFacade(); mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiPostsResponseModel> >(new List <ApiPostsResponseModel>())); PostsController controller = new PostsController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext(); IActionResult response = await controller.All(1000, 0); response.Should().BeOfType <OkObjectResult>(); (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK); var items = (response as OkObjectResult).Value as List <ApiPostsResponseModel>; items.Should().BeEmpty(); mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>())); }
public void AllShouldWork() { // Arrange var mockCitiesService = new Mock <ICitiesService>(); var mockMakesService = new Mock <IMakesService>(); var mockCategoriesService = new Mock <ICategoriesService>(); var mockModelsService = new Mock <IModelsService>(); var mockVehicleCategoriesService = new Mock <IVehicleCategoriesService>(); var mockColorsService = new Mock <IColorService>(); var mockCloudinaryService = new Mock <ICloudinaryService>(); var mockCommentsService = new Mock <ICommentsService>(); var mockPostsService = new Mock <IPostsService>(); var mockUserManager = this.GetMockUserManager(); var inputModel = new PostDetailsInputModel() { Color = "Blue", Condition = "Used", Currency = "LV", EngineType = "Disel", Eurostandard = 5, Make = 11, Model = "M5", }; mockPostsService .Setup(mp => mp.Filter(inputModel)) .Returns(this.GetAll <Post>()); var claims = new List <Claim>() { new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "5247d66a-84ff-4987-abb5-53b1c2e747c2"), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "*****@*****.**"), new Claim("AspNet.Identity.SecurityStamp", "E7B2QZV5M4OIRM3ZFIVXFVGR3YULFGO7"), new Claim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", "Admin"), new Claim("amr", "pwd"), }; var claimsIdentity = new ClaimsIdentity(claims); var principal = new ClaimsPrincipal(claimsIdentity); Thread.CurrentPrincipal = principal; mockUserManager.Setup(mu => mu.GetUserAsync(principal)) .Returns(Task.FromResult(new ApplicationUser() { UserName = "******", Image = new Image() { Url = "testUrl" } })); // Act var controller = new PostsController( mockPostsService.Object, mockCitiesService.Object, mockCategoriesService.Object, mockMakesService.Object, mockModelsService.Object, mockVehicleCategoriesService.Object, mockColorsService.Object, mockUserManager.Object, mockCloudinaryService.Object, mockCommentsService.Object); // Assert var result = controller.All(inputModel); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <PagedResult <AllPagePostViewModel> >(viewResult.ViewData.Model); Assert.NotEmpty(model.Data); Assert.Equal(3, model.Data.Count()); Assert.Equal(3, model.TotalItems); Assert.Equal(1, model.PageNumber); Assert.Equal(5, model.PageSize); }