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 remove_restaurant_using_EFContext_should_delete_restaurantContactDetail() { //Arrange Restaurant restaurantToRemove; int contactDetailsCountBefore; using (var context = new MiamDbContext()) { restaurantToRemove = context.Restaurants.First(r => r.Name == TestData.Restaurant1.Name); contactDetailsCountBefore = context.RestaurantContactDetails.Count(c => c.RestaurantId == restaurantToRemove.Id); } //Action using (var context = new MiamDbContext()) { context.Restaurants.Attach(restaurantToRemove); context.Restaurants.Remove(restaurantToRemove); context.SaveChanges(); } //Assert using (var context = new MiamDbContext()) { var contactDetailsCountAfter = context.RestaurantContactDetails.Count(c => c.RestaurantId == restaurantToRemove.Id); Assert.AreEqual(contactDetailsCountBefore - 1, contactDetailsCountAfter); } }
public void add_restaurant_using_EFContext() { //Arrange const string RESTAURANT_NAME = "Le lapin grillé"; var restaurantToAdd = new Restaurant() { City = "Quebec", Name = RESTAURANT_NAME, Country = "Canada" }; //Action using (var context = new MiamDbContext()) { context.Restaurants.Add(restaurantToAdd); context.SaveChanges(); } //Assert using (var context = new MiamDbContext()) { var restaurantInDatabase = context.Restaurants.FirstOrDefault(x => x.Name == RESTAURANT_NAME); Assert.IsNotNull(restaurantInDatabase); } }
public void remove_restaurant_using_EFContext() { //Arrange Restaurant restaurantToRemove; using (var context = new MiamDbContext()) { restaurantToRemove = context.Restaurants.First(r => r.Name == TestData.Restaurant1.Name); } //Action using (var context = new MiamDbContext()) { context.Restaurants.Attach(restaurantToRemove); context.Restaurants.Remove(restaurantToRemove); context.SaveChanges(); } //Assert using (var context = new MiamDbContext()) { var restaurantAfter = context.Restaurants.FirstOrDefault(r => r.Name == TestData.Restaurant1.Name); Assert.IsNull(restaurantAfter); } }
public void TestInitialize() { _dataBaseHelper = new EfDatabaseHelper(); _dataBaseHelper.DropCreateDatabaseIfModelChanges(); _dataBaseHelper.DeleteAll(); _dataBaseTestHelper = new DataBaseTestHelper(); _dataBaseTestHelper.SeedTables(); _miamDbContextBefore = new MiamDbContext(); _miamDbContextAfter = new MiamDbContext(); _restaurantRepository = new EfEntityRepository<Restaurant>(); _fixture = new Fixture(); _fixture.Customizations.Add(new VirtualMembersOmitter()); }
public void TestInitialize() { _dataBaseHelper = new EfDatabaseHelper(); _dataBaseHelper.MigrateDatabaseToLatestVersion(); _dataBaseHelper.ClearAllTables(); _dataBaseTestHelper = new DataBaseTestHelper(); _dataBaseTestHelper.SeedTables(); _miamDbContextBefore = new MiamDbContext(); _miamDbContextAfter = new MiamDbContext(); _restaurantRepository = new EfEntityRepository <Restaurant>(); _fixture = new Fixture(); _fixture.Customizations.Add(new VirtualMembersOmitter()); }
public void ClearAllTables() { var context = new MiamDbContext(); context.Writers.RemoveRange(context.Writers); context.Restaurants.RemoveRange(context.Restaurants); context.Reviews.RemoveRange(context.Reviews); context.RestaurantTags.RemoveRange(context.RestaurantTags); context.Users.RemoveRange(context.Users); context.Roles.RemoveRange(context.Roles); context.SaveChanges(); //Autre méthode pour tout effacer: supprimer la BD et la recréer, mais est plus lent. //SqlConnection.ClearAllPools(); //context.Database.Initialize(false); //context.Database.Delete(); //context.Database.CreateIfNotExists(); //context.SaveChanges(); }
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); } }
public EfUnitOfWork() { _dbContext = new MiamDbContext(); }
public EfApplicationDatabase(MiamDbContext miamDbContext) { _context = miamDbContext; }
public void TestInitialize() { _dataBaseHelper = new EfDatabaseHelper(); _dataBaseHelper.MigrateDatabaseToLatestVersion(); _dataBaseHelper.ClearAllTables(); _dataBaseTestHelper = new DataBaseTestHelper(); _dataBaseTestHelper.SeedTables(); _miamDbContextBefore = new MiamDbContext(); _miamDbContextAfter = new MiamDbContext(); _restaurantRepository = new EfEntityRepository<Restaurant>(); _fixture = new Fixture(); _fixture.Customizations.Add(new VirtualMembersOmitter()); }
public EfEntityRepository(MiamDbContext dbContext) { _context = dbContext; }
public TestDataSeeder() { _dbContext = new MiamDbContext(); }