use dialtone_common::rest::users::web_user::UserStatus;
use dialtone_common::utils::make_acct::make_acct;
use sqlx::Pool;
use dialtone_common::ap::ActorType;
use dialtone_common::containers::credentialed_actor::CredentialedActor;
use dialtone_sqlx::control::actor::create_owned::create_credentialed_actor;
use dialtone_sqlx::db::user_principal::{change_status::change_user_status, create_user};
use dialtone_sqlx::logic::actor::new_actor::NewActor;
use crate::test_constants::TEST_PASSWORD;
pub async fn create_actor_tst_utl(
pool: &Pool<sqlx::Postgres>,
user_name: &str,
host_name: &str,
) -> CredentialedActor {
let acct = make_acct(user_name, host_name);
create_user(pool, &acct, TEST_PASSWORD).await.unwrap();
change_user_status(pool, &acct, &UserStatus::Active)
.await
.unwrap();
create_actor_for_user_tst_utl(pool, user_name, host_name, &acct, true).await
}
pub async fn create_actor_for_user_tst_utl(
pool: &Pool<sqlx::Postgres>,
preferred_user_name: &str,
host_name: &str,
acct: &str,
default_actor: bool,
) -> CredentialedActor {
let new_actor = NewActor {
preferred_user_name,
actor_type: ActorType::Person,
owner: acct,
name: None,
summary: None,
icon: None,
image: None,
};
let action = create_credentialed_actor(pool, new_actor, default_actor, host_name).await;
if action.is_err() {
println!("{:?}", action.as_ref().err())
}
assert!(action.is_ok());
action.unwrap()
}