public async Task EditReviewShouldWorkCorrectly(string description, ReadingProgress progress, bool thisEdition) { var options = new DbContextOptionsBuilder <AlexandriaDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var db = new AlexandriaDbContext(options); await db.AddAsync( new Review { Description = "description1", AuthorId = "author1", BookId = 1, ReadingProgress = ReadingProgress.Unknown, ThisEdition = false, }); await db.SaveChangesAsync(); var reviewsService = new ReviewsService(db); await reviewsService.EditReviewAsync(1, description, progress, thisEdition); var result = await db.Reviews.FirstOrDefaultAsync(); Assert.NotNull(result.ModifiedOn); Assert.Equal(description, result.Description); Assert.Equal(progress, result.ReadingProgress); Assert.Equal(thisEdition, result.ThisEdition); }
public void EditReviewAsyncThrowsArgumentExceptionWhenGivenInvalidReviewAuthorId() { var reviews = new List <Review>(); var review = new Review() { ReviewNumber = "pesho", Id = "test123", ReviewAuthorId = "gosho" }; reviews.Add(review); var mockReviewsRepo = new Mock <IReviewsRepository>();; mockReviewsRepo.Setup(x => x.GetReviewByReviewNumber("pesho")).Returns(review); var service = new ReviewsService(mockReviewsRepo.Object, null); Assert.ThrowsAsync <ArgumentException>(() => service.EditReviewAsync("pesho", "ivan", "blank")); }
public async Task EditReviewAsyncWorksCorrectly() { var reviews = new List <Review>(); var review = new Review() { ReviewNumber = "pesho", Id = "test123", ReviewAuthorId = "gosho" }; reviews.Add(review); var mockReviewsRepo = new Mock <IReviewsRepository>();; mockReviewsRepo.Setup(x => x.GetReviewByReviewNumber("pesho")).Returns(review); var service = new ReviewsService(mockReviewsRepo.Object, null); await service.EditReviewAsync("pesho", "gosho", "blank"); Assert.Single(reviews); Assert.Equal("blank", reviews.First().ReviewInfo); }