public void Verify_SaveChanges_WithBadData_Should_ThrowAnException() { // Arrange Mock <IDbSet <Person> > mockSetPeople; var mockContext = PeopleMockingSetup.DoMockingSetupForContext(false, out mockSetPeople); mockContext.Setup(m => m.SaveChanges()).Returns(() => { throw new Exception("TEST"); }); var repository = new PeopleRepository(mockContext.Object); // Act/Assert Assert.Throws(typeof(Exception), () => { repository.SaveChanges(); }); }
public void Verify_SaveChanges_Should_RunOnceAndReturnSuccessfully() { // Arrange Mock <IDbSet <Person> > mockSetPeople; var mockContext = PeopleMockingSetup.DoMockingSetupForContext(false, out mockSetPeople); var repository = new PeopleRepository(mockContext.Object); var person = new Person { Active = true, CustomKey = "SALVATORE-RAA", Name = "R.A.A Salvatore" }; repository.Add(person); // Act var result = repository.SaveChanges(); // Assert mockContext.Verify(x => x.SaveChanges(), Times.Once); Assert.Equal(true, result); }