From e244713ad745a8400e0ce237c6ee160b2a7d272f Mon Sep 17 00:00:00 2001 From: realaravinth Date: Wed, 11 May 2022 13:09:08 +0530 Subject: [PATCH] feat: implement basic tests --- db/db-core/src/tests.rs | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/db/db-core/src/tests.rs b/db/db-core/src/tests.rs index d71ac032..e6c3eda3 100644 --- a/db/db-core/src/tests.rs +++ b/db/db-core/src/tests.rs @@ -17,6 +17,33 @@ //! Test utilities use crate::prelude::*; -pub async fn database_works<'a, T: MCDatabase>(db: &T) { - unimplemented!("database tests"); +/// test all database functions +pub async fn database_works<'a, T: MCDatabase>(db: &T, p: &Register<'a>) { + assert!(db.ping().await, "ping test"); + if db.username_exists(p.username).await.unwrap() { + db.delete_user(p.username).await.unwrap(); + assert!( + !db.username_exists(p.username).await.unwrap(), + "user is deleted so username shouldn't exsit" + ); + } + db.register(p).await.unwrap(); + assert!( + db.username_exists(p.username).await.unwrap(), + "user is registered so username should exsit" + ); + db.delete_user(p.username).await.unwrap(); + assert!( + !db.username_exists(p.username).await.unwrap(), + "user is deleted so username shouldn't exsit" + ); + + // register with email = None + let mut p2 = p.clone(); + p2.email = None; + db.register(&p2).await.unwrap(); + assert!( + db.username_exists(p2.username).await.unwrap(), + "user is registered so username should exsit" + ); }