public void DateCreated_Can_Not_Be_Null(DifferenceType differenceType, ValidationState validationState) { var o = new ModelDifferenceObject(Session.DefaultSession); Isolate.WhenCalled(() => o.DifferenceType).WillReturn(differenceType); var ruleSet = new RuleSet(); RuleSetValidationResult target = ruleSet.ValidateTarget(o, ContextIdentifier.Save); RuleSetValidationResultItem @default = target.Results.Where( item => item.Rule is RuleRequiredField && ((RuleRequiredField)item.Rule).TargetMember.Name == o.GetPropertyInfo(x => x.DateCreated).Name).FirstOrDefault(); Assert.AreEqual(validationState, @default.State); }
public void Same_ApplicationName_Differences_Cannot_Exist() { new ModelDifferenceObject(Session.DefaultSession) { PersistentApplication = new PersistentApplication(Session.DefaultSession) { UniqueName = "appName" } }.Save(); var modelDifferenceObject = new ModelDifferenceObject(Session.DefaultSession) { PersistentApplication = new PersistentApplication(Session.DefaultSession) { UniqueName = "appName" } }; var objectsToValidate = new SaveContextTargetObjectSelector().GetObjectsToValidate(Session.DefaultSession, modelDifferenceObject); RuleSetValidationResult targets = Validator.RuleSet.ValidateAllTargets(objectsToValidate, ContextIdentifier.Save); var resultItem = targets.Results.Where( item => item.Rule is RuleUniqueValue && item.Rule.UsedProperties.Contains( modelDifferenceObject.GetPropertyInfo(x => modelDifferenceObject.PersistentApplication.UniqueName).Name)). FirstOrDefault(); Assert.IsNotNull(resultItem); Assert.AreEqual(ValidationState.Invalid, resultItem.State); }
public void PersistentApplication_Is_Required() { var modelDifferenceObject = new ModelDifferenceObject(Session.DefaultSession) { PersistentApplication = null }; var validationResult = new RuleSet().ValidateTarget(modelDifferenceObject, ContextIdentifier.Save); var validationResultItem = validationResult.Results.Where(item => item.Rule is RuleRequiredField && item.Rule.UsedProperties.Contains(modelDifferenceObject.GetPropertyInfo(x => x.PersistentApplication).Name)).FirstOrDefault(); Assert.IsNull(modelDifferenceObject.PersistentApplication); Assert.IsNotNull(validationResultItem); Assert.AreEqual(ValidationState.Invalid, validationResultItem.State); }