Beispiel #1
0
        public void FieldNameChangeDoesNotBreakExistingPolicy()
        {
            var toDelete = new List <long>();

            try
            {
                var newField = new StringField {
                    Name = "test field"
                }.As <Field>();
                newField.Save();
                toDelete.Add(newField.Id);

                var policy = new RecordChangeAuditPolicy()
                {
                    Name = "TEST ResourceAuditEventHandlerTests LogCreate", TriggeredOnType = Person.Person_Type, TriggerEnabled = true
                };
                policy.UpdatedFieldsToTriggerOn.Add(newField);
                policy.Save();
                toDelete.Add(policy.Id);

                newField      = newField.AsWritable <Field>();
                newField.Name = "Renamed field";
                newField.Save();

                var log = RunAndLog(() =>
                {
                    var person = Entity.Create <Person>();
                    person.SetField(newField, "bob");
                    person.Save();
                });

                Assert.That(log.Count, Is.EqualTo(1));

                var logEntry = log[0].As <RecordChangeLogEntry>();
                Assert.That(logEntry.Description, Is.EqualTo("[Renamed field] set to 'bob'"));
            }
            finally
            {
                Entity.Delete(toDelete);
            }
        }