use dialtone_common::containers::credentialed_actor::CredentialedActor;
use sqlx::Pool;
use crate::{
create_actor::create_actor_for_user_tst_utl,
create_site::create_site_tst_utl,
create_users::{
create_actor_admin_tst_utl, create_all_role_user_tst_utl, create_content_admin_tst_utl,
create_no_role_user_tst_utl, create_user_admin_tst_utl,
},
test_constants::{
TEST_ACTORADMIN_ACCT, TEST_ACTORADMIN_NAME, TEST_ALLROLEUSER_ACCT, TEST_ALLROLEUSER_NAME,
TEST_CONTENTADMIN_ACCT, TEST_CONTENTADMIN_NAME, TEST_HOSTNAME, TEST_NOROLEUSER_ACCT,
TEST_NOROLEUSER_NAME, TEST_USERADMIN_ACCT, TEST_USERADMIN_NAME,
},
};
pub struct CreateSystemTestActors {
pub no_role_actor: CredentialedActor,
pub content_admin_actor: CredentialedActor,
pub actor_admin_actor: CredentialedActor,
pub user_admin_actor: CredentialedActor,
pub all_role_actor: CredentialedActor,
}
pub async fn create_system_tst_utl(pool: &Pool<sqlx::Postgres>) -> CreateSystemTestActors {
create_site_tst_utl(pool, TEST_HOSTNAME).await;
create_no_role_user_tst_utl(pool).await;
let no_role_actor = create_actor_for_user_tst_utl(
pool,
TEST_NOROLEUSER_NAME,
TEST_HOSTNAME,
TEST_NOROLEUSER_ACCT,
true,
)
.await;
create_content_admin_tst_utl(pool).await;
let content_admin_actor = create_actor_for_user_tst_utl(
pool,
TEST_CONTENTADMIN_NAME,
TEST_HOSTNAME,
TEST_CONTENTADMIN_ACCT,
true,
)
.await;
create_actor_admin_tst_utl(pool).await;
let actor_admin_actor = create_actor_for_user_tst_utl(
pool,
TEST_ACTORADMIN_NAME,
TEST_HOSTNAME,
TEST_ACTORADMIN_ACCT,
true,
)
.await;
create_user_admin_tst_utl(pool).await;
let user_admin_actor = create_actor_for_user_tst_utl(
pool,
TEST_USERADMIN_NAME,
TEST_HOSTNAME,
TEST_USERADMIN_ACCT,
true,
)
.await;
create_all_role_user_tst_utl(pool).await;
let all_role_actor = create_actor_for_user_tst_utl(
pool,
TEST_ALLROLEUSER_NAME,
TEST_HOSTNAME,
TEST_ALLROLEUSER_ACCT,
true,
)
.await;
CreateSystemTestActors {
no_role_actor,
content_admin_actor,
actor_admin_actor,
user_admin_actor,
all_role_actor,
}
}