more robust test to deal with invite generation

This commit is contained in:
shockrah 2020-03-08 23:01:41 -07:00
parent 12dd244f9c
commit 50cd718e8a

View File

@ -42,8 +42,8 @@ pub fn generate_invite(conn: DBConn) -> Json<Invite> {
}
Err(_e) => {
new_invite.id = 0;
new_invite.uses = Some(0);
new_invite.expires = 0;
new_invite.uses = Some(0);
Json(new_invite)
}
}
@ -80,9 +80,10 @@ mod invite_tests {
use rocket;
use rocket::local::Client;
use rocket::http::Status;
use serde_json;
#[test]
fn make_invite() {
fn request_invite() {
let rocket = rocket::ignite()
.mount("/invite", routes![generate_invite])
.attach(DBConn::fairing());
@ -90,7 +91,22 @@ mod invite_tests {
let client = Client::new(rocket).expect("Invalid rocket instance");
let mut response = client.get("/invite/generate").dispatch();
println!("Response looks like: {}", response.body_string().unwrap());
assert_eq!(response.status(), Status::Ok);
match response.body_string() {
Some(val) => {
let invite: Result<Invite, serde_json::Error> = serde_json::from_str(&val);
match invite {
Ok(val) => {
println!("{:#?}", val)
}
Err(e) => {
panic!("{}", e)
}
}
}
None => {
println!("bro wtf");
}
}
}
}