use ferro_rs::database::{DatabaseConfig, DB};
use sea_orm::{ConnectionTrait, Statement};
pub async fn init_test_db() {
let config = DatabaseConfig::builder().url("sqlite::memory:").build();
DB::init_with(config).await.expect("init in-memory sqlite");
let db = DB::connection().expect("connection after init");
db.execute(Statement::from_string(
db.get_database_backend(),
"CREATE TABLE IF NOT EXISTS widgets (id INTEGER PRIMARY KEY, slug TEXT)".to_owned(),
))
.await
.expect("create widgets scratch table");
}
pub async fn seed_widget(id: i64, slug: &str) {
let db = DB::connection().expect("connection for seed_widget");
db.execute(Statement::from_string(
db.get_database_backend(),
format!("INSERT INTO widgets (id, slug) VALUES ({id}, '{slug}')"),
))
.await
.expect("seed widget row");
}