// Your action
#[injectable]
pub struct CreateUserAction {
#[inject]
db: Database,
}
impl CreateUserAction {
pub async fn execute(&self, email: &str) -> Result<users::Model, FrameworkError> {
let user = users::ActiveModel {
email: Set(email.to_string()),
..Default::default()
};
users::Entity::insert_one(user).await
}
}
// Your test
#[kit_test]
async fn test_create_user(db: TestDatabase) {
// CreateUserAction automatically receives the test database
let action = CreateUserAction::new();
let user = action.execute("[email protected]").await.unwrap();
// Verify in database
let count = users::Entity::find()
.count(db.conn())
.await
.unwrap();
assert_eq!(count, 1);
}