Example #1
0
        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);
        }
Example #2
0
        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);
        }