use sqlx::{Pool, Postgres};
#[sqlx::test(migrations = "./migrations")]
#[ignore = "Requires DATABASE_URL to be set"]
async fn test_database_initialization(pool: Pool<Postgres>) -> sqlx::Result<()> {
let count: (i64,) = sqlx::query_as("SELECT count(*) FROM users")
.fetch_one(&pool)
.await?;
assert_eq!(count.0, 0, "Users table should be empty initially");
sqlx::query("INSERT INTO users (email, is_active) VALUES ($1, $2)")
.bind("test@example.com")
.bind(true)
.execute(&pool)
.await?;
let count: (i64,) = sqlx::query_as("SELECT count(*) FROM users")
.fetch_one(&pool)
.await?;
assert_eq!(count.0, 1, "Users table should have 1 user");
Ok(())
}