public void HasCorrectErrorMessages() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(User)); User user = new User(); ActiveRecordValidator validator = new ActiveRecordValidator(user); PropertyInfo nameProp = user.GetType().GetProperty("Name"); PropertyInfo loginProp = user.GetType().GetProperty("Login"); PropertyInfo emailProp = user.GetType().GetProperty("Email"); Assert.IsFalse(validator.IsValid()); user.Name = "hammett"; //user.Login = "******"; user.Password = "******"; user.ConfirmationPassword = "******"; //user.Email = "*****@*****.**"; Assert.IsFalse(validator.IsValid()); Assert.IsFalse(validator.PropertiesValidationErrorMessages.Contains(nameProp)); Assert.IsTrue(validator.PropertiesValidationErrorMessages.Contains(loginProp)); Assert.IsTrue(validator.PropertiesValidationErrorMessages.Contains(loginProp)); user.Login = "******"; user.Email = "*****@*****.**"; Assert.IsTrue(validator.IsValid()); Assert.IsFalse(validator.PropertiesValidationErrorMessages.Contains(nameProp)); Assert.IsFalse(validator.PropertiesValidationErrorMessages.Contains(loginProp)); Assert.IsFalse(validator.PropertiesValidationErrorMessages.Contains(loginProp)); }
public void ErrorMessages() { Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-us"); ActiveRecordStarter.Initialize( GetConfigSource(), typeof(User) ); User user = new User(); Type type = user.GetType(); PropertyInfo info; ArrayList propertyMessages; Assert.IsFalse(user.IsValid()); Assert.AreEqual(5, user.ValidationErrorMessages.Length); Assert.AreEqual("This is a required field", user.ValidationErrorMessages[0]); Assert.AreEqual("This is a required field", user.ValidationErrorMessages[1]); Assert.AreEqual("This is a required field", user.ValidationErrorMessages[2]); Assert.AreEqual("This is a required field", user.ValidationErrorMessages[3]); Assert.AreEqual("This is a required field", user.ValidationErrorMessages[4]); Assert.AreEqual(5, user.PropertiesValidationErrorMessages.Count); info = type.GetProperty("Login"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("This is a required field", propertyMessages[0]); info = type.GetProperty("Name"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("This is a required field", propertyMessages[0]); info = type.GetProperty("Email"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("This is a required field", propertyMessages[0]); info = type.GetProperty("Password"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("This is a required field", propertyMessages[0]); info = type.GetProperty("ConfirmationPassword"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("This is a required field", propertyMessages[0]); user.Name = "hammett"; user.Login = "******"; user.Email = "*****@*****.**"; user.Password = "******"; user.ConfirmationPassword = "******"; Assert.IsFalse(user.IsValid()); Assert.AreEqual(1, user.ValidationErrorMessages.Length); Assert.AreEqual("Fields do not match", user.ValidationErrorMessages[0]); info = type.GetProperty("Password"); Assert.IsTrue(user.PropertiesValidationErrorMessages.Contains(info)); propertyMessages = (ArrayList)user.PropertiesValidationErrorMessages[info]; Assert.AreEqual(1, propertyMessages.Count); Assert.AreEqual("Fields do not match", propertyMessages[0]); user.Password = "******"; Assert.IsTrue(user.IsValid()); Assert.AreEqual(0, user.ValidationErrorMessages.Length); }