public void ChangeTracker_NoPropertiesChangedNew_SetsObectStateUpdateDateAndUser() { // Arrange _auditRepositoryMock.Setup(x => x.Save(It.IsAny <ChangeState>())); _trackChangeMock.Setup(x => x.GetChangeState()).Returns(new ChangeState { ChangedProperties = new List <ChangedProperty>() }); _trackChangeMock.Setup(x => x.ObjectState).Returns(ObjectState.FromDatabase); var changeTracker = new ChangeTracker <ITrackChanges>(_auditRepositoryMock.Object); //Act var result = changeTracker.Execute(_trackChangeMock.Object); //Assert Assert.IsNotNull(result); _trackChangeMock.VerifySet(x => x.ObjectState = ObjectState.NoChange); _auditRepositoryMock.Verify(x => x.Save(It.IsAny <ChangeState>()), Times.Once); }
public void ChangeTracker_OneOrMorePropertiesChanged_SetsObectStateUpdateDateAndUser() { // Arrange _auditRepositoryMock.Setup(x => x.Save(It.IsAny <ChangeState>())); _trackChangeMock.Setup(x => x.GetChangeState()).Returns(new ChangeState { ChangedProperties = new List <ChangedProperty> { new ChangedProperty() } }); var changeTracker = new ChangeTracker <ITrackChanges>(_auditRepositoryMock.Object); //Act var result = changeTracker.Execute(_trackChangeMock.Object); //Assert Assert.IsNotNull(result); _trackChangeMock.VerifySet(x => x.ObjectState = ObjectState.Changed); _trackChangeMock.VerifySet(x => x.UpdateUser = _testUser); _trackChangeMock.VerifySet(x => x.UpdateDate = It.IsAny <DateTime>()); _auditRepositoryMock.Verify(x => x.Save(It.IsAny <ChangeState>()), Times.Once); }