public void DetailsReturnsValidRestaurantDetailedViewModelId() { //Arrange var restaurantId = Guid.NewGuid().ToString(); var resultDbRestaurant = new RestaurantUser { Id = restaurantId }; var mockedRestaurantUserService = new Mock <IRestaurantUserService>(); mockedRestaurantUserService.Setup(x => x.GetById(restaurantId)).Returns(resultDbRestaurant); var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(RestaurantController).Assembly); var restaurantController = new RestaurantController(mockedRestaurantUserService.Object, null); //Act var actionResult = restaurantController.Details(restaurantId) as ViewResult; var restaurantViewModel = (RestaurantDetailedViewModel)actionResult.ViewData.Model; var expectedRestaurantViewModel = new RestaurantDetailedViewModel { Id = resultDbRestaurant.Id }; //Assert Assert.AreEqual(expectedRestaurantViewModel.Id, restaurantViewModel.Id, "Expected RestaurantDetailedViewModel Id doesn`t match actual Id."); }
public ActionResult PostComment(RestaurantDetailedViewModel model) { if (!this.ModelState.IsValid) { return(this.View("Details", model)); } var commentModel = model.CommentInputModel; var authorId = this.User.Identity.GetUserId(); var restaurantId = model.Id; var content = commentModel.Content; this.comments.CreateComment(authorId, restaurantId, content); return(this.RedirectToAction("Details", new { id = model.Id })); }
public ActionResult PostComment(RestaurantDetailedViewModel model) { if (!this.ModelState.IsValid) { return this.View("Details", model); } var commentModel = model.CommentInputModel; var authorId = this.User.Identity.GetUserId(); var restaurantId = model.Id; var content = commentModel.Content; this.comments.CreateComment(authorId, restaurantId, content); return this.RedirectToAction("Details", new { id = model.Id }); }
public void DetailsReturnsValidRestaurantDetailedViewModelComments() { //Arrange var restaurantId = Guid.NewGuid().ToString(); var comments = new List <Comment> { new Comment { Author = new RegularUser() { FirstName = "Test", LastName = "User1" } } }; var resultDbRestaurant = new RestaurantUser { Comments = comments }; var mockedRestaurantUserService = new Mock <IRestaurantUserService>(); mockedRestaurantUserService.Setup(x => x.GetById(restaurantId)).Returns(resultDbRestaurant); var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(RestaurantController).Assembly); var restaurantController = new RestaurantController(mockedRestaurantUserService.Object, null); //Act var actionResult = restaurantController.Details(restaurantId) as ViewResult; var restaurantViewModel = (RestaurantDetailedViewModel)actionResult.ViewData.Model; var expectedRestaurantViewModel = new RestaurantDetailedViewModel { Comments = resultDbRestaurant.Comments.AsQueryable().To <CommentViewModel>().ToList() }; //Assert Assert.AreEqual(restaurantViewModel.Comments.Count, expectedRestaurantViewModel.Comments.Count, "Expected RestaurantDetailedViewModel Comments count doesn`t match actual count."); Assert.AreEqual(restaurantViewModel.Comments.FirstOrDefault().Author, expectedRestaurantViewModel.Comments.FirstOrDefault().Author, "Expected RestaurantDetailedViewModel comment Author doesn`t match the actual Author."); }
public void DetailsReturnsValidRestaurantDetailedViewModelFavourites() { //Arrange var restaurantId = Guid.NewGuid().ToString(); var regularUsers = new List <RegularUser> { new RegularUser(), new RegularUser() }; var resultDbRestaurant = new RestaurantUser { RegularUsers = regularUsers }; var mockedRestaurantUserService = new Mock <IRestaurantUserService>(); mockedRestaurantUserService.Setup(x => x.GetById(restaurantId)).Returns(resultDbRestaurant); var autoMapperConfig = new AutoMapperConfig(); autoMapperConfig.Execute(typeof(RestaurantController).Assembly); var restaurantController = new RestaurantController(mockedRestaurantUserService.Object, null); //Act var actionResult = restaurantController.Details(restaurantId) as ViewResult; var restaurantViewModel = (RestaurantDetailedViewModel)actionResult.ViewData.Model; var expectedRestaurantViewModel = new RestaurantDetailedViewModel { Favourites = resultDbRestaurant.RegularUsers.AsQueryable().To <RegularUserViewModel>().ToList(), }; //Assert Assert.AreEqual(restaurantViewModel.Favourites.Count, expectedRestaurantViewModel.Favourites.Count, "Expected RestaurantDetailedViewModel Favourites count doesn`t match actual count."); }
public ActionResult Details(string id) { if (id == null) { return this.RedirectToAction("Index", "Home"); } var restaurant = this.restaurants.GetById(id); var restaurantView = new RestaurantDetailedViewModel { Id = restaurant.Id, Address = restaurant.Address, Category = restaurant.Category == null ? "All" : restaurant.Category.Name, Email = restaurant.Email, Name = restaurant.Name, PhoneNumber = restaurant.PhoneNumber, Favourites = restaurant.RegularUsers.AsQueryable().To<RegularUserViewModel>().ToList(), Comments = restaurant.Comments.AsQueryable().To<CommentViewModel>().ToList() }; return this.View(restaurantView); }