public async Task CreateRating_Throws_WhenNoBarFound() { //Arrange var options = Utils.GetOptions(nameof(CreateRating_Throws_WhenNoBarFound)); var bar = new Bar { Id = Guid.NewGuid(), Name = "Manhattan" }; var user = new User { Id = Guid.NewGuid(), UserName = "******" }; var barId = Guid.NewGuid(); var barRatingDTO = new BarRatingDTO { BarId = barId, UserId = user.Id }; using (var arrangeContext = new CMContext(options)) { await arrangeContext.Users.AddAsync(user); await arrangeContext.Bars.AddAsync(bar); await arrangeContext.SaveChangesAsync(); } //Act, Assert using (var assertContext = new CMContext(options)) { var sut = new BarRatingServices(assertContext); await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.CreateRating(barRatingDTO)); } }
public async Task CreateRating_CreatesCorrect_WhenParamsAre_Valid() { //Arrange var options = Utils.GetOptions(nameof(CreateRating_CreatesCorrect_WhenParamsAre_Valid)); var bar = new Bar { Id = Guid.NewGuid(), Name = "Manhattan" }; var user = new User { Id = Guid.NewGuid(), UserName = "******" }; var barRatingDTO = new BarRatingDTO { BarId = bar.Id, UserId = user.Id }; using (var arrangeContext = new CMContext(options)) { await arrangeContext.Users.AddAsync(user); await arrangeContext.Bars.AddAsync(bar); await arrangeContext.SaveChangesAsync(); } //Act, Assert using (var assertContext = new CMContext(options)) { var sut = new BarRatingServices(assertContext); var result = await sut.CreateRating(barRatingDTO); Assert.AreEqual(1, assertContext.BarRatings.Count()); Assert.AreEqual("Manhattan", result.Bar.Name); Assert.AreEqual("Ivan", result.User.UserName); } }