From 5f02fb265ab9257805131b9a235b81aedb0e6af7 Mon Sep 17 00:00:00 2001 From: Joe Ardent Date: Wed, 14 Jun 2023 22:05:50 -0700 Subject: [PATCH] move macro import to lib.rs --- src/lib.rs | 37 +++++++++++++++++++++++++++++++++++++ src/templates.rs | 36 +----------------------------------- src/watches/templates.rs | 3 +-- 3 files changed, 39 insertions(+), 37 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 28f9dc9..a8a2157 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,6 +18,7 @@ mod util; mod watches; // things we want in the crate namespace +use optional_optional_user::OptionalOptionalUser; use templates::*; use users::User; use watches::{templates::*, ShowKind, Watch}; @@ -62,3 +63,39 @@ pub async fn app(db_pool: sqlx::SqlitePool, session_secret: &[u8]) -> axum::Rout .layer(session_layer) .with_state(db_pool) } + +//-************************************************************************ +// tests for the proc macro for optional user +//-************************************************************************ +#[cfg(test)] +mod test { + use super::{CreateUserSuccess, MainPage, OptionalOptionalUser, User}; + + #[test] + fn main_page_has_optional_user() { + assert!(MainPage::default().has_optional_user()); + } + + #[test] + fn signup_success_has_no_optional_user() { + assert!(!CreateUserSuccess::default().has_optional_user()); + } + + #[test] + fn user_is_not_optional() { + #[derive(Default, OptionalOptionalUser)] + struct TestThing { + user: User, + } + assert!(!TestThing::default().has_optional_user()); + } + + #[test] + fn user_is_not_user() { + #[derive(Default, OptionalOptionalUser)] + struct TestThing { + user: Option, + } + assert!(!TestThing::default().has_optional_user()); + } +} diff --git a/src/templates.rs b/src/templates.rs index 6fc1b88..664533f 100644 --- a/src/templates.rs +++ b/src/templates.rs @@ -1,8 +1,7 @@ use askama::Template; -use optional_optional_user::OptionalOptionalUser; use serde::{Deserialize, Serialize}; -use crate::User; +use crate::{OptionalOptionalUser, User}; #[derive(Debug, Default, Template, Deserialize, Serialize, PartialEq, Eq, OptionalOptionalUser)] #[template(path = "signup.html")] @@ -47,36 +46,3 @@ pub struct LogoutPost; pub struct MainPage { pub user: Option, } - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn main_page_has_optional_user() { - assert!(MainPage::default().has_optional_user()); - } - - #[test] - fn signup_success_has_no_optional_user() { - assert!(!CreateUserSuccess::default().has_optional_user()); - } - - #[test] - fn user_is_not_optional() { - #[derive(Default, OptionalOptionalUser)] - struct TestThing { - user: User, - } - assert!(!TestThing::default().has_optional_user()); - } - - #[test] - fn user_is_not_user() { - #[derive(Default, OptionalOptionalUser)] - struct TestThing { - user: Option, - } - assert!(!TestThing::default().has_optional_user()); - } -} diff --git a/src/watches/templates.rs b/src/watches/templates.rs index 3e913f2..4a8d6c6 100644 --- a/src/watches/templates.rs +++ b/src/watches/templates.rs @@ -1,8 +1,7 @@ use askama::Template; -use optional_optional_user::OptionalOptionalUser; use serde::{Deserialize, Serialize}; -use crate::{User, Watch}; +use crate::{OptionalOptionalUser, User, Watch}; #[derive(Debug, Default, Template, Deserialize, Serialize, PartialEq, Eq, OptionalOptionalUser)] #[template(path = "get_watches.html")]