polyphony_types/schema/
mod.rs

1mod apierror;
2mod auth;
3mod channel;
4mod guild;
5mod message;
6mod user;
7
8pub use apierror::*;
9pub use auth::*;
10pub use channel::*;
11pub use guild::*;
12pub use message::*;
13pub use user::*;
14
15#[cfg(test)]
16mod schemas_tests {
17    use super::*;
18    use crate::errors::FieldFormatError;
19
20    #[test]
21    fn password_too_short() {
22        assert_eq!(
23            AuthPassword::new("".to_string()),
24            Err(FieldFormatError::PasswordError)
25        );
26    }
27
28    #[test]
29    fn password_too_long() {
30        let mut long_pw = String::new();
31        for _ in 0..73 {
32            long_pw += "a";
33        }
34        assert_eq!(
35            AuthPassword::new(long_pw),
36            Err(FieldFormatError::PasswordError)
37        );
38    }
39
40    #[test]
41    fn username_too_short() {
42        assert_eq!(
43            AuthUsername::new("T".to_string()),
44            Err(FieldFormatError::UsernameError)
45        );
46    }
47
48    #[test]
49    fn username_too_long() {
50        let mut long_un = String::new();
51        for _ in 0..33 {
52            long_un += "a";
53        }
54        assert_eq!(
55            AuthUsername::new(long_un),
56            Err(FieldFormatError::UsernameError)
57        );
58    }
59
60    #[test]
61    fn consent_false() {
62        assert_eq!(
63            RegisterSchema::new(
64                "Test".to_string(),
65                None,
66                false,
67                None,
68                None,
69                None,
70                None,
71                None,
72                None,
73                None,
74            ),
75            Err(FieldFormatError::ConsentError)
76        );
77    }
78
79    #[test]
80    fn invalid_email() {
81        assert_eq!(
82            AuthEmail::new("p@p.p".to_string()),
83            Err(FieldFormatError::EmailError)
84        )
85    }
86
87    #[test]
88    fn valid_email() {
89        let reg = RegisterSchema::new(
90            "Testy".to_string(),
91            None,
92            true,
93            Some("me@mail.de".to_string()),
94            None,
95            None,
96            None,
97            None,
98            None,
99            None,
100        );
101        assert_ne!(reg, Err(FieldFormatError::EmailError));
102    }
103}