polyphony_types/schema/
mod.rs1mod 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}