public async Task DeleteAsync_WithNonExistentId_ReturnsFalse() { // Arrange var testId = Guid.NewGuid().ToString(); var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarModels.AddRange( new CarModel { Model = "OtherModel1" }, new CarModel { Model = "OtherModel2" }); context.SaveChanges(); var modelsService = new ModelsService(new EfRepository <CarModel>(context)); // Act var result = await modelsService.DeleteAsync(testId); // Assert Assert.False(result); var dbCount = await context.CarModels.CountAsync(); Assert.Equal(2, dbCount); }
public async Task DeleteAsync_WithCorrectId_WorksCorrectly() { // Arrange const string testName = "TestName"; var model = new CarModel { Model = testName }; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarModels.AddRange( model, new CarModel { Model = "OtherModel1" }, new CarModel { Model = "OtherModel2" }); context.SaveChanges(); var modelsService = new ModelsService(new EfRepository <CarModel>(context)); // Act var result = await modelsService.DeleteAsync(model.Id); // Assert Assert.True(result); var existsInDb = await context.CarModels.AnyAsync(m => m.Model == testName); Assert.False(existsInDb); var dbCount = await context.CarModels.CountAsync(); Assert.Equal(2, dbCount); }
public async Task DeleteAsync_WithCars_DoesNotDelete() { // Arrange const string testName = "TestName"; var model = new CarModel { Model = testName, Cars = new List <Car> { new Car { Colour = "Green" } } }; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarModels.Add(model); context.SaveChanges(); var modelsService = new ModelsService(new EfRepository <CarModel>(context)); // Act var result = await modelsService.DeleteAsync(model.Id); // Assert Assert.False(result); var existsInDb = await context.CarModels.AnyAsync(m => m.Model == testName); Assert.True(existsInDb); var dbCount = await context.CarModels.CountAsync(); Assert.Equal(1, dbCount); }
public async Task DeleteAsyncShouldDeleteModel() { var options = new DbContextOptionsBuilder <NeedForCarsDbContext>() .UseInMemoryDatabase("DeleteModelDb") .Options; var context = new NeedForCarsDbContext(options); var makesService = new MakesService(context); var modelsService = new ModelsService(context, makesService); var make = new Make { Name = "Make", Description = "Desc" }; await context.Makes.AddAsync(make); await context.SaveChangesAsync(); var model = new Model { MakeId = make.Id, Name = "Model" }; await context.Models.AddAsync(model); await context.SaveChangesAsync(); await modelsService.DeleteAsync(model); await context.SaveChangesAsync(); var result = await context.Models.CountAsync(); Assert.Equal(0, result); }