Added TUI integration tests

This commit is contained in:
continuist 2025-06-24 23:33:41 -04:00
parent 9956c22cce
commit abbaafe2df
4 changed files with 41 additions and 1 deletions

View file

@ -25,6 +25,7 @@ cli = { path = "../cli" }
domain = { path = "../domain" }
memory = { path = "../memory" }
postgres = { path = "../postgres" }
tui = { path = "../tui" }
# Additional test dependencies
hyper = { version = "1.0", features = ["full"] }

View file

@ -17,3 +17,5 @@ pub mod cli_tests;
pub mod migration_tests;
#[cfg(test)]
pub mod performance_tests;
#[cfg(test)]
pub mod tui_tests;

View file

@ -0,0 +1,25 @@
/*
* This file is part of Sharenet.
*
* Sharenet is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
*
* You may obtain a copy of the license at:
* https://creativecommons.org/licenses/by-nc-sa/4.0/
*
* Copyright (c) 2024 Continuist <continuist02@gmail.com>
*/
#[cfg(test)]
mod tests {
use tui::App;
#[test]
fn test_app_initialization() {
let app = App::new();
assert_eq!(app.input(), "");
assert_eq!(app.messages(), &vec!["Welcome to Sharenet CLI!".to_string()]);
assert!(!app.should_quit());
}
// More integration tests will be added here
}

View file

@ -90,6 +90,18 @@ impl App {
self.cursor_position -= 1;
}
}
pub fn input(&self) -> &str {
&self.input
}
pub fn messages(&self) -> &Vec<String> {
&self.messages
}
pub fn should_quit(&self) -> bool {
self.should_quit
}
}
pub async fn run_tui<U, P>(user_service: U, product_service: P) -> anyhow::Result<()>