public async Task AddReview_When_ValidValuesArePassed() { var options = TestUtilities.GetOptions(nameof(AddReview_When_ValidValuesArePassed)); barFactoryMoq.Setup(b => b.CreateNewBarReview(createReviewForTest.Grade, createReviewForTest.Comment, createReviewForTest.UserId, createReviewForTest.BarId, createReviewForTest.CreatedOn)) .Returns(createReviewForTest); using (var arrangeContext = new CMContext(options)) { arrangeContext.Bars.Add(barTwoTest); arrangeContext.Bars.Add(barForTest); arrangeContext.Users.Add(userForTests); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CMContext(options)) { var sut = new BarManager(assertContext, cocktailManagerMoq.Object, barFactoryMoq.Object); barFactoryMoq.Setup(b => b.CreateNewBarReview(3.5d, "Comment", "TheOne", "Two", DateTime.MinValue)).Returns(createReviewForTest); await sut.CreateBarReviewAsync(createReviewForTest.ToDTO()); Assert.AreEqual(1, assertContext.BarReviews.Count()); } }
public async Task ThrowInvalidOperationException_When_NoRatingIsGiven() { var options = TestUtilities.GetOptions(nameof(ThrowInvalidOperationException_When_NoRatingIsGiven)); var barReviewTest = new BarReview() { Bar = barForTest, BarId = barForTest.BarId, Comment = "Message", CreatedOn = DateTime.MinValue, Grade = 0d, User = userForTests, UserId = userForTests.Id }; //using (var arrangeContext = new CMContext(options)) //{ // arrangeContext.Bars.Add(barForTest); // arrangeContext.Users.Add(userForTests); // await arrangeContext.SaveChangesAsync(); //} using (var assertContext = new CMContext(options)) { var sut = new BarManager(assertContext, cocktailManagerMoq.Object, barFactoryMoq.Object); await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => sut.CreateBarReviewAsync(barReviewTest.ToDTO())); } }
public async Task ShowCorrectMessage_When_ThrowsInvalidOperationException() { var options = TestUtilities.GetOptions(nameof(ShowCorrectMessage_When_ThrowsInvalidOperationException)); var message = "Cannot comment a Bar without giving it a rating!"; var barReviewTest = new BarReview() { Bar = barForTest, BarId = barForTest.BarId, Comment = "Message", CreatedOn = DateTime.MinValue, Grade = 0d, User = userForTests, UserId = userForTests.Id }; using (var arrangeContext = new CMContext(options)) { arrangeContext.Bars.Add(barForTest); arrangeContext.Users.Add(userForTests); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new CMContext(options)) { var sut = new BarManager(assertContext, cocktailManagerMoq.Object, barFactoryMoq.Object); var ex = await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => sut.CreateBarReviewAsync(barReviewTest.ToDTO())); Assert.AreEqual(message, ex.Message); } }