public void update_restaurant_using_EFContext() { //Arrange const string NEW_RESTAURANT_NAME = "Le cochon choqué"; Restaurant restaurantToUpdate; using (var context = new MiamDbContext()) { restaurantToUpdate = context.Restaurants.First(r => r.Name == TestData.Restaurant1.Name); } //Action using (var context = new MiamDbContext()) { restaurantToUpdate.Name = NEW_RESTAURANT_NAME; context.Restaurants.Attach(restaurantToUpdate); context.Entry(restaurantToUpdate).State = EntityState.Modified; context.SaveChanges(); } //Assert using (var context = new MiamDbContext()) { var restaurantAfter = context.Restaurants.First(r => r.Name == NEW_RESTAURANT_NAME); Assert.IsNotNull(restaurantAfter); } }
public void update_restaurant_by_adding_review_using_EFContext() { //Arrange int reviewsCountBefore; Restaurant restaurantToUpdate; int writerID; using (var context = new MiamDbContext()) { restaurantToUpdate = context.Restaurants.First(r => r.Name == TestData.Restaurant1.Name); reviewsCountBefore = restaurantToUpdate.Reviews.Count(); var writer = context.Writers.First(); writerID = writer.Id; } var newReview = new Review() { Body = "Ambiance décontractée. Service trop familier.", Rating = 3, WriterId = writerID }; //Action using (var context = new MiamDbContext()) { context.Restaurants.Attach(restaurantToUpdate); restaurantToUpdate.Reviews.Add(newReview); context.Entry(restaurantToUpdate).State = EntityState.Modified; context.SaveChanges(); } //Assert using (var context = new MiamDbContext()) { var restaurantAfter = context.Restaurants.First(r => r.Name == TestData.Restaurant1.Name); var reviewsCountAfter = restaurantAfter.Reviews.Count(); Assert.AreEqual(reviewsCountBefore + 1, reviewsCountAfter); } }