aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/tests
diff options
context:
space:
mode:
Diffstat (limited to 'validator_derive/tests')
-rw-r--r--validator_derive/tests/test_derive.rs33
1 files changed, 22 insertions, 11 deletions
diff --git a/validator_derive/tests/test_derive.rs b/validator_derive/tests/test_derive.rs
index 9b9bad7..c7e78cc 100644
--- a/validator_derive/tests/test_derive.rs
+++ b/validator_derive/tests/test_derive.rs
@@ -56,7 +56,7 @@ struct SignupData2 {
#[derive(Debug, Validate, Deserialize)]
#[validate(schema(function = "validate_signup3"))]
struct SignupData3 {
- #[validate(email)]
+ #[validate(email, contains = "bob")]
mail: String,
#[validate(range(min = "18", max = "20"))]
age: u32,
@@ -96,7 +96,7 @@ fn test_bad_email_fails_validation() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("mail"));
assert_eq!(errs["mail"], vec!["email".to_string()]);
}
@@ -111,7 +111,7 @@ fn test_bad_url_fails_validation() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("site"));
assert_eq!(errs["site"], vec!["url".to_string()]);
}
@@ -126,8 +126,7 @@ fn test_bad_length_fails_validation_and_points_to_original_name() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
- println!("{:?}", errs);
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("firstName"));
assert_eq!(errs["firstName"], vec!["length".to_string()]);
}
@@ -143,7 +142,7 @@ fn test_bad_range_fails_validation() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("age"));
assert_eq!(errs["age"], vec!["range".to_string()]);
}
@@ -158,7 +157,7 @@ fn test_can_have_multiple_errors() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("age"));
assert!(errs.contains_key("firstName"));
assert_eq!(errs["age"], vec!["range".to_string()]);
@@ -175,7 +174,7 @@ fn test_custom_validation_error() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("firstName"));
assert_eq!(errs["firstName"], vec!["terrible_username".to_string()]);
}
@@ -209,7 +208,7 @@ fn test_can_fail_struct_validation_new_key() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("all"));
assert_eq!(errs["all"], vec!["stupid_rule".to_string()]);
}
@@ -222,7 +221,7 @@ fn test_can_fail_struct_validation_existing_key() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("mail"));
assert_eq!(errs["mail"], vec!["email".to_string(), "stupid_rule".to_string()]);
}
@@ -235,8 +234,20 @@ fn test_skip_struct_validation_by_default_if_errors() {
};
let res = signup.validate();
assert!(res.is_err());
- let errs = res.unwrap_err();
+ let errs = res.unwrap_err().inner();
assert!(errs.contains_key("mail"));
assert_eq!(errs["mail"], vec!["email".to_string()]);
+}
+#[test]
+fn test_can_fail_contains_validation() {
+ let signup = SignupData3 {
+ mail: "bo@gmail.com".to_string(),
+ age: 18,
+ };
+ let res = signup.validate();
+ assert!(res.is_err());
+ let errs = res.unwrap_err().inner();
+ assert!(errs.contains_key("mail"));
+ assert_eq!(errs["mail"], vec!["contains".to_string()]);
}