use sz_orm_macros::FromQueryResult;
#[derive(FromQueryResult)]
#[allow(dead_code)]
struct User {
id: i64,
name: String,
}
#[test]
fn test_query_macro_returns_query_object() {
let q = sz_orm_core::query!("SELECT id, name FROM users WHERE id = 1");
assert_eq!(q.sql(), "SELECT id, name FROM users WHERE id = 1");
}
#[test]
fn test_query_macro_with_params() {
let q = sz_orm_core::query!("SELECT * FROM users WHERE id = ? AND name = ?");
assert!(q.sql().contains("SELECT *"));
assert!(q.sql().contains("WHERE id = ?"));
}
#[test]
fn test_query_macro_simple_select() {
let q = sz_orm_core::query!("SELECT id FROM users");
assert_eq!(q.sql(), "SELECT id FROM users");
}
#[test]
fn test_query_macro_with_type_param() {
let q = sz_orm_core::query!(User, "SELECT id, name FROM users WHERE id = 1");
assert_eq!(q.sql(), "SELECT id, name FROM users WHERE id = 1");
}
#[test]
fn test_query_macro_with_path_type_param() {
let q = sz_orm_core::query!(crate::User, "SELECT id, name FROM users");
assert!(q.sql().contains("SELECT"));
}