test: begin writing test for role editing

This commit is contained in:
izzy
2025-06-08 11:18:44 +01:00
parent 99f400bc7b
commit 3e8a401077
5 changed files with 237 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
use authifier::{
models::{Account, Session},
models::{Account, EmailVerification, Session},
Authifier,
};
use futures::StreamExt;
@@ -83,30 +83,41 @@ impl TestHarness {
}
pub async fn new_user(&self) -> (Account, Session, User) {
let account = Account::new(
&self.authifier,
format!("{}@revolt.chat", TestHarness::rand_string()),
"password".to_string(),
false,
)
.await
.expect("`Account`");
let user = User::create(&self.db, TestHarness::rand_string(), None, None)
.await
.expect("`User`");
let (account, session) = self.account_from_user(user.id.clone()).await;
(account, session, user)
}
pub async fn account_from_user(&self, id: String) -> (Account, Session) {
let account = Account {
id,
email: format!("{}@revolt.chat", TestHarness::rand_string()),
password: Default::default(),
email_normalised: Default::default(),
deletion: None,
disabled: false,
lockout: None,
mfa: Default::default(),
password_reset: None,
verification: EmailVerification::Verified,
};
self.authifier
.database
.save_account(&account)
.await
.expect("`Account`");
let session = account
.create_session(&self.authifier, String::new())
.await
.expect("`Session`");
let user = User::create(
&self.db,
TestHarness::rand_string(),
account.id.to_string(),
None,
)
.await
.expect("`User`");
(account, session, user)
(account, session)
}
pub async fn new_server(&self, user: &User) -> (Server, Vec<Channel>) {