public async Task GetEditModelAsync_WithReviewId_ShouldReturnValidViewModel() { // Arrange FitStoreDbContext database = this.Database; DatabaseHelper.SeedData(database); IReviewService reviewService = new ReviewService(database); // Act ReviewBasicServiceModel result = await reviewService.GetEditModelAsync(reviewId); // Assert result.Id.Should().Be(reviewId); result.Content.Should().Be(content); result.Rating.Should().Be(rating); }
public async Task <IActionResult> Edit(int id) { bool isReviewExistingById = await this.reviewService.IsReviewExistingById(id, false); if (!isReviewExistingById) { TempData.AddErrorMessage(string.Format(EntityNotFound, ReviewEntity)); return(this.RedirectToHomeIndex()); } string username = User.Identity.Name; bool isUserRestricted = await this.userService.IsUserRestricted(username); if (isUserRestricted) { TempData.AddErrorMessage(UserRestrictedErrorMessage); return(this.RedirectToHomeIndex()); } string userId = this.userManager.GetUserId(User); bool isUserAuthor = await this.reviewService.IsUserAuthor(id, userId); bool isUserModerator = User.IsInRole(ModeratorRole); if (!isUserAuthor && !isUserModerator) { return(this.RedirectToHomeIndex()); } ReviewBasicServiceModel review = await this.reviewService.GetEditModelAsync(id); ReviewFormViewModel model = new ReviewFormViewModel() { Content = review.Content, Rating = review.Rating, Ratings = this.GetRatingsSelectListItems() }; return(View(model)); }