Lines
100 %
Functions
40 %
Branches
use crate::db::DBError;
use cfg_if::cfg_if;
use sqlx::Postgres;
use sqlx::pool::PoolConnection;
use sqlx::types::Uuid;
mod userpool;
pub struct User {
pub id: Uuid,
}
impl User {
cfg_if! {
if #[cfg(test)] {
pub async fn get_connection(&self) -> Result<PoolConnection<Postgres>, DBError> {
crate::db::get_connection().await
} else if #[cfg(not(test))] {
userpool::get_connection(self.id).await
#[cfg(test)]
pub async fn commit(&self) -> Result<(), sqlx::Error> {
let mut conn = self.get_connection().await.unwrap();
sqlx::query!(
"INSERT INTO users (
id, user_name, email, photo, verified, user_password, user_role, db_name, created_at
) VALUES (
$1, 'Test User', 'test@example.com', 'default.png',
FALSE, 'password123', 'user', 'database', NOW()
)",
self.id,
)
.execute(&mut *conn)
.await?;
Ok(())