public void DeleteConfirmed_WhenDeleting_ThenTheShoeIsRemovedFromTheDatabase() { // Arrange var dbContext = new FakeShoeTrackerDbContext(); dbContext .WithShoe("foo", _currentUserId) .WithShoe("other", _currentUserId); var controller = new ShoeController(dbContext) .WithAuthenticatedUser("some user", _currentUserId) .WithValidModelState(); var shoeId = dbContext.Shoes.Select(s => s.ShoeId).First(); // Act controller.DeleteConfirmed(shoeId); // Assert Assert.That(dbContext.Shoes.Count(),Is.EqualTo(1)); Assert.That(dbContext.Shoes.First().Name,Is.EqualTo("other")); Assert.That(dbContext.NumerOfTimesSaveChangesCalled, Is.EqualTo(1)); }
public void DeleteConfirmed_WhenDeletingInValidShoe_ThenNothingHappes() { // Arrange var dbContext = new FakeShoeTrackerDbContext(); var controller = new ShoeController(dbContext) .WithAuthenticatedUser("some user", _currentUserId) .WithValidModelState(); const int shoeId = -1; // Act controller.DeleteConfirmed(shoeId); // Assert Assert.That(dbContext.Shoes.Count(), Is.EqualTo(0)); Assert.That(dbContext.NumerOfTimesSaveChangesCalled, Is.EqualTo(1)); }