diff options
Diffstat (limited to 'validator_derive/tests/required.rs')
| -rw-r--r-- | validator_derive/tests/required.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/validator_derive/tests/required.rs b/validator_derive/tests/required.rs new file mode 100644 index 0000000..2f02b1b --- /dev/null +++ b/validator_derive/tests/required.rs @@ -0,0 +1,31 @@ +#[macro_use] +extern crate validator_derive; + +use serde::Serialize; +use validator::Validate; + +#[derive(Debug, Serialize)] +struct ObjectRef { + id: i32, + name: String, +} + +#[derive(Debug, Validate)] +struct TestStruct { + #[validate(required)] + val: Option<ObjectRef>, +} + +#[test] +fn can_validate_some() { + let s = TestStruct { val: Some(ObjectRef { id: 0, name: String::new() }) }; + + assert!(s.validate().is_ok()); +} + +#[test] +fn none_fails_validate() { + let s = TestStruct { val: None }; + + assert!(s.validate().is_err()); +} |
