diff --git a/server/src/invites.rs b/server/src/invites.rs index 33cd20f..b15bc7b 100644 --- a/server/src/invites.rs +++ b/server/src/invites.rs @@ -109,4 +109,24 @@ mod invite_tests { } } } + + #[test] + fn use_invite() { + let app = rocket::ignite() + .mount("/invite", routes![generate_invite, use_invite]) + .attach(DBConn::fairing()); + + // We assume in this test that invite generation is fine + let client = Client::new(app).expect("Invalid rocket instance"); + let mut r = client.get("/invite/generate").dispatch(); + let invite: Invite = serde_json::from_str(&r.body_string().unwrap()).unwrap(); + + // request a user account using the new invite data + let mut response = client.get(format!("/invite/{}", invite.id)).dispatch(); + let data: User = serde_json::from_str(&response.body_string().unwrap()).unwrap(); + // make sure the user object isn't fugged + assert_ne!(0, data.userid); + assert_ne!(0, data.date); + println!("{:#?}", data); + } } diff --git a/server/src/users.rs b/server/src/users.rs index d7be56d..69e6882 100644 --- a/server/src/users.rs +++ b/server/src/users.rs @@ -15,8 +15,10 @@ pub fn create_new_user() -> User { } } +#[cfg(test)] mod user_tests { use super::create_new_user; + #[test] fn user_struct() { println!("{:?}", create_new_user());