Add users and roles tables, add tests for models that do not require language localization

master
Tait Hoyem 10 months ago
parent 32ee84b2a5
commit 4bc0ca3b12

@ -33,6 +33,27 @@ pub struct League {
pub name: Option<String>, pub name: Option<String>,
} }
#[derive(FromRow, Serialize, Deserialize, Debug, NameTableName)]
#[table_names(
table_name = "roles",
name_func = "role_name",
name_table_name = "role_names",
name_table_name_fk = "role"
)]
pub struct Role {
pub id: i32,
pub name: Option<String>,
}
#[derive(FromRow, Serialize, Deserialize, Debug, ormx::Table)]
#[ormx(table = "users", id = id, insertable, deletable)]
pub struct User {
#[ormx(default)]
pub id: i32,
pub user_name: String,
pub pass_hash: String,
}
/* /*
#[derive(FromRow, Serialize, Deserialize, Debug, ormx::Patch)] #[derive(FromRow, Serialize, Deserialize, Debug, ormx::Patch)]
#[ormx(table_name = "leagues", table = League, id = "id")] #[ormx(table_name = "leagues", table = League, id = "id")]
@ -182,7 +203,7 @@ pub struct Period {
mod tests { mod tests {
use crate::languages::SupportedLanguage; use crate::languages::SupportedLanguage;
use crate::model::{ use crate::model::{
Division, Game, GamePlayer, Language, League, Player, Shot, TableName, Team, Division, Game, GamePlayer, Language, League, Player, Shot, TableName, Team, User,
}; };
use ormx::Table; use ormx::Table;
use std::env; use std::env;
@ -233,7 +254,7 @@ mod tests {
/// Then, it checks that /// Then, it checks that
/// 1. The table rows gets deserialized correctly. /// 1. The table rows gets deserialized correctly.
/// 2. There is at least one row. /// 2. There is at least one row.
macro_rules! generate_select_test { macro_rules! generate_select_test_lang {
($ret_type:ident, $func_name:ident) => { ($ret_type:ident, $func_name:ident) => {
#[test] #[test]
fn $func_name() { fn $func_name() {
@ -250,12 +271,30 @@ mod tests {
} }
}; };
} }
//generate_select_test!(GamePlayer, selec_game_player); macro_rules! generate_select_test {
// generate_select_test!(Player, select_player); ($ret_type:ident, $func_name:ident) => {
generate_select_test!(League, select_league); #[test]
generate_select_test!(Division, select_division); fn $func_name() {
generate_select_test!(Team, select_team); tokio_test::block_on(async move {
//generate_select_test!(Shot, select_shot); let pool = db_connect().await;
generate_select_test!(Game, select_game); let results = $ret_type::all(&pool)
//generate_select_test!(Language, select_lang); .await
.unwrap();
assert!(
results.len() > 0,
"There must be at least one result in the table."
);
});
}
};
}
generate_select_test_lang!(League, select_league);
generate_select_test_lang!(Division, select_division);
generate_select_test_lang!(Team, select_team);
generate_select_test_lang!(Game, select_game);
generate_select_test!(GamePlayer, selec_game_player);
generate_select_test!(Player, select_player);
generate_select_test!(User, select_user);
generate_select_test!(Shot, select_shot);
generate_select_test!(Language, select_lang);
} }

Loading…
Cancel
Save