owl/tests/basic.rs
JMARyA a858f0838a
Some checks failed
ci/woodpecker/push/test Pipeline failed
delete
2025-05-05 08:13:11 +02:00

45 lines
932 B
Rust

use owl::prelude::*;
#[cfg(test)]
#[model]
pub struct TestModel {
pub id: Id,
pub data: String,
}
#[test]
fn save_load_db() {
let data = "TestData".to_string();
let db = Database::in_memory();
let m = TestModel {
id: Id::String(data.clone()),
data: data.clone(),
};
db.save(m);
let get_model: Model<TestModel> = db.get(data.as_str()).unwrap();
assert_eq!(get_model.read().id.to_string(), data);
}
#[test]
fn save_del_db() {
let data = "TestData".to_string();
let db = Database::in_memory();
let m = TestModel {
id: Id::String(data.clone()),
data: data.clone(),
};
db.save(m);
let get_model: Model<TestModel> = db.get(data.as_str()).unwrap();
assert_eq!(get_model.read().id.to_string(), data);
db.delete(&get_model);
let get_model: Option<Model<TestModel>> = db.get(data.as_str());
assert!(get_model.is_none());
}