//post comments public async Task <CommentAC> CommentSection(int restaurantId, CommentAC commentac) { Comment comment = new Comment(); var x = _dataRepository.Where <Restaurant>(r => r.ID == restaurantId); var z = await x.FirstAsync(); var y = await _dataRepository.Where <Review>(r => r.ID == commentac.ReviewID).FirstAsync(); _mapper.Map(commentac, comment); await _dataRepository.AddAsync <Comment>(comment); await _dataRepository.SaveChangesAsync(); commentac.ID = comment.ID; return(commentac); }
public async Task <IActionResult> CommentSection([FromRoute] int restaurantId, CommentAC commentac) { var c = await unitOfWork.Restaurant.CommentSection(restaurantId, commentac); return(Ok(c)); }
public async Task CommentSection_VerifyAdditionMultipleCommentsOnAReview() { List <Restaurant> restaurants = new List <Restaurant> { new Restaurant { ID = 1, RestaurantName = "Domino's", CuisineType = "Italian", Dishes = new List <Dishes> { new Dishes { ID = 1, DishesName = "Pizza", Costs = 250 }, new Dishes { ID = 2, DishesName = "Taco", Costs = 150 } } } }; List <Review> reviews = new List <Review> { new Review { ID = 1, ReviewTexts = "good", Restaurant = new Restaurant { ID = 1 }, User = new User { Id = "dcbe1262-4be8-493a-8821-f4d52778d878", FullName = "Nina Dobrev" } } }; CommentAC commentAC = new CommentAC { ID = 1, UserID = "dcbe1262-4be8-493a-8821-f4d52778d878", ReviewID = 1, FullName = "Nina Dobrev", CommentMessage = "Okay" }; _dataRepository.Setup(s => s.Where(It.IsAny <Expression <Func <Restaurant, bool> > >())).Returns(restaurants.AsQueryable().BuildMock().Object); _dataRepository.Setup(s => s.Where(It.IsAny <Expression <Func <Review, bool> > >())).Returns(reviews.AsQueryable().BuildMock().Object); _dataRepository.Setup(s => s.AddAsync(It.IsAny <Expression <Func <Comment, bool> > >())); _dataRepository.Setup(s => s.SaveChangesAsync()); await _unitOfWorkRepository.Restaurant.CommentSection(1, commentAC); _dataRepository.Verify(v => v.AddAsync(It.IsAny <Comment>()), Times.Once); _dataRepository.Verify(v => v.SaveChangesAsync()); }