public void Test_Passing_Valid_Values()
        {
            // ARRANGE
            AuditHeaderDto auditHeaderDto = Create.AuditHeader();
            AuditDetailDto auditDetailDto = Create.AuditDetail(auditHeaderDto);

            auditHeaderDto.SetPrivatePropertyValue(
                propName: nameof(AuditHeaderDto.AuditDetails),
                value: new List <AuditDetailDto>
            {
                auditDetailDto
            });

            // ACT
            IAuditHeaderWithAuditDetails auditHeader = auditHeaderDto.ToDomainWithAuditDetails();

            // ASSERT
            Assert.IsNotNull(auditHeader);
            Assert.AreEqual(auditHeader.Id, auditHeader.Id);
            Assert.AreEqual(auditHeader.AuditEvent, auditHeader.AuditEvent);
            Assert.AreEqual(auditHeader.TimeStamp, auditHeader.TimeStamp);
            Assert.AreEqual(auditHeader.Username, auditHeader.Username);
            Assert.AreEqual(auditHeader.CorrelationId, auditHeader.CorrelationId);
            Assert.IsNotNull(auditHeader.AuditDetails);
            Assert.AreEqual(1, auditHeader.AuditDetails.Count);
        }
Ejemplo n.º 2
0
        public void TestWithValidValues()
        {
            // ARRANGE
            IAuditHeader paramAuditHeader = Create.AuditHeader();
            const string paramTableName   = "Organisation";
            const string paramColumnName  = "Id";
            Guid         paramRecordId    = Guid.NewGuid();
            const string paramNewValue    = "New Value";
            const string paramOldValue    = "Old Value";

            // ACT
            IAuditDetail auditDetail = AuditDetail.CreateForUpdate(
                paramAuditHeader,
                paramTableName,
                paramColumnName,
                paramRecordId,
                paramOldValue,
                paramNewValue);

            // ASSERT
            Assert.IsNotNull(auditDetail);
            Assert.AreNotEqual(paramRecordId, auditDetail.Id);
            Assert.AreSame(paramAuditHeader, auditDetail.AuditHeader);
            Assert.AreEqual(paramTableName, auditDetail.TableName);
            Assert.AreEqual(paramColumnName, auditDetail.ColumnName);
            Assert.AreEqual(paramRecordId, auditDetail.RecordId);
            Assert.AreEqual(paramOldValue, auditDetail.OldValue);
            Assert.AreEqual(paramNewValue, auditDetail.NewValue);
            Assert.AreEqual(EDatabaseAction.Update, auditDetail.DatabaseAction);
        }
Ejemplo n.º 3
0
        public void TestWithValidValuesThatAreNull()
        {
            // ARRANGE
            Guid                  paramId             = Guid.NewGuid();
            IAuditHeader          paramAuditHeader    = Create.AuditHeader();
            const string          paramTableName      = "Organisation";
            const string          paramColumnName     = "Id";
            Guid                  paramRecordId       = Guid.NewGuid();
            const EDatabaseAction paramDatabaseAction = EDatabaseAction.Update;

            // ACT
            IAuditDetail auditDetail = new AuditDetail(
                id: paramId,
                auditHeader: paramAuditHeader,
                tableName: paramTableName,
                columnName: paramColumnName,
                recordId: paramRecordId,
                oldValue: null,
                newValue: null,
                databaseAction: paramDatabaseAction);

            // ASSERT
            Assert.IsNull(auditDetail.OldValue);
            Assert.IsNull(auditDetail.NewValue);
        }
Ejemplo n.º 4
0
        public void TestWithValidValues()
        {
            // ARRANGE
            Guid                  paramId             = Guid.NewGuid();
            IAuditHeader          paramAuditHeader    = Create.AuditHeader();
            const string          paramTableName      = "Organisation";
            const string          paramColumnName     = "Id";
            Guid                  paramRecordId       = Guid.NewGuid();
            const string          paramOldValue       = "Old Value";
            const string          paramNewValue       = "New Value";
            const EDatabaseAction paramDatabaseAction = EDatabaseAction.Update;

            // ACT
            IAuditDetail auditDetail = new AuditDetail(
                id: paramId,
                auditHeader: paramAuditHeader,
                tableName: paramTableName,
                columnName: paramColumnName,
                recordId: paramRecordId,
                oldValue: paramOldValue,
                newValue: paramNewValue,
                databaseAction: paramDatabaseAction);

            // ASSERT
            Assert.AreEqual(paramId, auditDetail.Id);
            Assert.AreSame(paramAuditHeader, auditDetail.AuditHeader);
            Assert.AreEqual(paramTableName, auditDetail.TableName);
            Assert.AreEqual(paramColumnName, auditDetail.ColumnName);
            Assert.AreEqual(paramRecordId, auditDetail.RecordId);
            Assert.AreEqual(paramOldValue, auditDetail.OldValue);
            Assert.AreEqual(paramNewValue, auditDetail.NewValue);
            Assert.AreEqual(paramDatabaseAction, auditDetail.DatabaseAction);
        }
Ejemplo n.º 5
0
        public void Test_With_Null_AuditHeader_Throws_Exception()
        {
            // ARRANGE
            AuditHeaderDto auditHeaderDto = Create.AuditHeader();
            AuditDetailDto auditDetailDto = Create.AuditDetail(auditHeaderDto);

            auditDetailDto.SetPrivatePropertyValue(
                propName: nameof(AuditDetailDto.AuditHeader),
                value: (AuditHeaderDto)null);

            // ACT
            _ = auditDetailDto.ToDomain();
        }
Ejemplo n.º 6
0
        public void Test_Passing_Valid_Values()
        {
            // ARRANGE
            AuditHeaderDto auditHeaderDto = Create.AuditHeader();

            // ACT
            IAuditHeader auditHeader = auditHeaderDto.ToDomain();

            // ASSERT
            Assert.IsNotNull(auditHeader);
            Assert.AreEqual(auditHeaderDto.Id, auditHeader.Id);
            Assert.AreEqual(auditHeaderDto.AuditEvent, auditHeader.AuditEvent);
            Assert.AreEqual(auditHeaderDto.TimeStamp, auditHeader.TimeStamp);
            Assert.AreEqual(auditHeaderDto.Username, auditHeader.Username);
            Assert.AreEqual(auditHeaderDto.CorrelationId, auditHeader.CorrelationId);
        }
Ejemplo n.º 7
0
        public void Test_Passing_Valid_Values()
        {
            // ARRANGE
            AuditHeaderDto auditHeaderDto = Create.AuditHeader();
            AuditDetailDto auditDetailDto = Create.AuditDetail(auditHeaderDto);

            // ACT
            IAuditDetail auditDetail = auditDetailDto.ToDomain();

            // ASSERT
            Assert.IsNotNull(auditDetail);
            Assert.AreEqual(auditDetailDto.Id, auditDetail.Id);
            Assert.AreEqual(auditDetailDto.AuditHeaderId, auditDetail.AuditHeader.Id);
            Assert.AreEqual(auditDetailDto.TableName, auditDetail.TableName);
            Assert.AreEqual(auditDetailDto.ColumnName, auditDetail.ColumnName);
            Assert.AreEqual(auditDetailDto.RecordId, auditDetail.RecordId);
            Assert.AreEqual(auditDetailDto.OldValue, auditDetail.OldValue);
            Assert.AreEqual(auditDetailDto.NewValue, auditDetail.NewValue);
            Assert.AreEqual(auditDetailDto.DatabaseAction, auditDetail.DatabaseAction);
        }
Ejemplo n.º 8
0
        public void TestEmptyAuditDetailIdThrowsException()
        {
            // ARRANGE
            IAuditHeader          paramAuditHeader    = Create.AuditHeader();
            const string          paramTableName      = "Organisation";
            const string          paramColumnName     = "Id";
            Guid                  paramRecordId       = Guid.NewGuid();
            const string          paramOldValue       = "Old Value";
            const string          paramNewValue       = "New Value";
            const EDatabaseAction paramDatabaseAction = EDatabaseAction.Update;

            // ACT
            _ = new AuditDetail(
                id: Guid.Empty,
                auditHeader: paramAuditHeader,
                tableName: paramTableName,
                columnName: paramColumnName,
                recordId: paramRecordId,
                oldValue: paramOldValue,
                newValue: paramNewValue,
                databaseAction: paramDatabaseAction);
        }
Ejemplo n.º 9
0
        public void TestLongTableNameThrowsException()
        {
            // ARRANGE
            Guid                  paramId             = Guid.NewGuid();
            IAuditHeader          paramAuditHeader    = Create.AuditHeader();
            string                paramTableName      = new string('x', 500);
            const string          paramColumnName     = "Id";
            Guid                  paramRecordId       = Guid.NewGuid();
            const string          paramOldValue       = "Old Value";
            const string          paramNewValue       = "New Value";
            const EDatabaseAction paramDatabaseAction = EDatabaseAction.Update;

            // ACT
            _ = new AuditDetail(
                id: paramId,
                auditHeader: paramAuditHeader,
                tableName: paramTableName,
                columnName: paramColumnName,
                recordId: paramRecordId,
                oldValue: paramOldValue,
                newValue: paramNewValue,
                databaseAction: paramDatabaseAction);
        }