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.CarManufacturers.AddRange( new CarManufacturer { Name = "OtherManufacturer1" }, new CarManufacturer { Name = "OtherManufacturer2" }); context.SaveChanges(); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); // Act var result = await manufacturersService.DeleteAsync(testId); // Assert Assert.False(result); var dbCount = await context.CarManufacturers.CountAsync(); Assert.Equal(2, dbCount); }
public async Task DeleteAsync_WithCarModels_DoesNotDelete() { // Arrange const string testName = "TestName"; var manufacturer = new CarManufacturer { Name = testName, Models = new List <CarModel> { new CarModel { Model = "TestModel" } } }; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); context.CarManufacturers.AddRange( manufacturer, new CarManufacturer { Name = "OtherManufacturer1" }, new CarManufacturer { Name = "OtherManufacturer2" }); context.SaveChanges(); var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context)); // Act var result = await manufacturersService.DeleteAsync(manufacturer.Id); // Assert Assert.False(result); var existsInDb = await context.CarManufacturers.AnyAsync(m => m.Name == testName); Assert.True(existsInDb); var dbCount = await context.CarManufacturers.CountAsync(); Assert.Equal(3, dbCount); }