From a71b753a8a14af43d945dc0f9a06dbda3393c2f9 Mon Sep 17 00:00:00 2001 From: Kyle Nweeia Date: Tue, 18 Mar 2025 22:04:22 -0600 Subject: [PATCH] Add test to chat example --- examples/chat/src/main.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/examples/chat/src/main.rs b/examples/chat/src/main.rs index 1c07301ed8..2126839cac 100644 --- a/examples/chat/src/main.rs +++ b/examples/chat/src/main.rs @@ -159,3 +159,27 @@ fn check_username(state: &AppState, string: &mut String, name: &str) { async fn index() -> Html<&'static str> { Html(std::include_str!("../chat.html")) } + +#[cfg(test)] +mod test { + use super::*; + + #[tokio::test] + async fn test_check_username() { + let user_set = Mutex::new(HashSet::new()); + let (tx, _rx) = broadcast::channel(100); + let app_state = Arc::new(AppState { user_set, tx }); + let mut username = String::new(); + let name = "Ferris"; + + check_username(&app_state, &mut username, name); + + assert!(app_state.user_set.lock().unwrap().contains(name)); + assert_eq!(username, name); + + username.clear(); + check_username(&app_state, &mut username, name); + + assert_eq!(username, ""); + } +}