dialtone_test_util 0.1.0

Dialtone Testing Utilities
Documentation
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()
}