mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2025-02-17 08:59:46 +03:00
feat: define interface for updating username
This commit is contained in:
parent
748f48e0d2
commit
83f6456a59
2 changed files with 19 additions and 3 deletions
|
@ -125,6 +125,9 @@ pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase {
|
|||
|
||||
/// update user's password
|
||||
async fn update_password(&self, p: &NameHash) -> DBResult<()>;
|
||||
|
||||
/// update username
|
||||
async fn update_username(&self, current: &str, new: &str) -> DBResult<()>;
|
||||
}
|
||||
|
||||
/// Trait to clone MCDatabase
|
||||
|
|
|
@ -66,10 +66,23 @@ pub async fn database_works<'a, T: MCDatabase>(db: &T, p: &Register<'a>) {
|
|||
);
|
||||
assert_eq!(name_hash.username, p.username, "username matches");
|
||||
|
||||
// deleting user for re-registration with email = None
|
||||
db.delete_user(p.username).await.unwrap();
|
||||
// update username to p.email
|
||||
assert!(
|
||||
!db.username_exists(p.username).await.unwrap(),
|
||||
!db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
|
||||
"user with p.email doesn't exist. pre-check to update username to p.email"
|
||||
);
|
||||
db.update_username(p.username, p.email.as_ref().unwrap())
|
||||
.await
|
||||
.unwrap();
|
||||
assert!(
|
||||
db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
|
||||
"user with p.email exist post-update"
|
||||
);
|
||||
|
||||
// deleting user for re-registration with email = None
|
||||
db.delete_user(p.email.as_ref().unwrap()).await.unwrap();
|
||||
assert!(
|
||||
!db.username_exists(p.email.as_ref().unwrap()).await.unwrap(),
|
||||
"user is deleted so username shouldn't exsit"
|
||||
);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue