sql-gen 0.2.3

A CLI tool for generating models based on a SQL Database using SQLx
use crate::core::{
    intepreters::get_file_structs::get_file_structs,
    models::rust::{dbset_attribute_with_table_name, RustDbSetStruct},
};

#[test]
fn should_parse_simple_struct() {
    let res = get_file_structs(
        r#"
    pub struct Customer {
        id: String,
        first_name: String,
        last_name: String
    }
    "#,
    );

    let expected = vec![RustDbSetStruct {
        name: "Customer".to_string(),
        ..Default::default()
    }];

    pretty_assertions::assert_eq!(res, expected);
}

#[test]
fn should_parse_struct_with_db_set_macro() {
    let res = get_file_structs(
        r#"
        #[dbset(table_name = "users")]
        pub struct Customer {
        id: String,
        first_name: String,
        last_name: String
    }
    "#,
    );

    let expected = vec![RustDbSetStruct {
        name: "Customer".to_string(),
        attributes: vec![dbset_attribute_with_table_name("users")],
        ..Default::default()
    }];

    pretty_assertions::assert_eq!(res, expected);
}