public void TestSaveMetaFieldUpdate() { var metaDataService = new MetaDataService(); var metaEntity = Repository.MetaEntities.First(); var entityValidator = new EntityValidator(metaEntity); var metaField = Repository.MetaFields.Single(mf => mf.Id == 1); var intFieldValidator = new FieldValidator <int?>(metaField, entityValidator); intFieldValidator.ValueCheckings.Add(CheckValue); entityValidator.FieldValidators.Add(intFieldValidator); metaField = Repository.MetaFields.Single(mf => mf.Id == 2); var stringFieldValidator = new FieldValidator <string>(metaField, entityValidator); stringFieldValidator.ValueCheckings.Add(CheckValue); entityValidator.FieldValidators.Add(stringFieldValidator); metaField.Label = "New label"; var results = metaDataService.SaveMetaField(entityValidator, metaField); Assert.IsNotEmpty(results); Assert.AreEqual(2, results.Count); CollectionAssert.AllItemsAreNotNull(results); Assert.True(results.All(r => r.IsValid)); Assert.AreEqual(2, Repository.MetaFields.Count); CollectionAssert.Contains(Repository.MetaFields, metaField); Assert.AreEqual(2, metaField.Id); Assert.AreNotEqual(DateTime.MinValue, metaField.CreationDate); Assert.NotNull(metaField.CreationUser); Assert.AreNotEqual(DateTime.MinValue, metaField.LastUpdateDate); Assert.NotNull(metaField.LastUpdateUser); Assert.AreNotEqual(metaField.CreationDate, metaField.LastUpdateDate); Assert.AreSame(metaField.CreationUser, metaField.LastUpdateUser); }
private void Validate(IEntityValidator entityValidator, IEntity entity) { MetaDataService.SaveMetaField(entityValidator, (IMetaField)entity); }