From 8f8b7f10c247209b45bc1e204f85c0bf6b6d894c Mon Sep 17 00:00:00 2001 From: quambene Date: Thu, 4 Apr 2024 01:14:20 +0200 Subject: [PATCH] Add tests --- src/lib.rs | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 690d523..c87d6eb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -372,3 +372,62 @@ pub fn app() -> Command { ]), ) } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_send_args_subject_content() { + let args = vec![ + "pigeon", + "send", + "albert@einstein.com", + "marie@curie.com", + "--subject", + "Test subject", + "--content", + "This is a test message (plaintext).", + ]; + let app = app(); + let matches = app.get_matches_from(args); + let subcommand_matches = matches.subcommand_matches("send"); + assert!(subcommand_matches.is_some()); + } + + #[test] + fn test_send_args_text_file_html_file() { + let args = vec![ + "pigeon", + "send", + "albert@einstein.com", + "marie@curie.com", + "--subject", + "Test subject", + "--text-file", + "./test_data/message.txt", + "--html-file", + "./test_data/message.html", + ]; + let app = app(); + let matches = app.get_matches_from(args); + let subcommand_matches = matches.subcommand_matches("send"); + assert!(subcommand_matches.is_some()); + } + + #[test] + fn test_send_args_message_file() { + let args = vec![ + "pigeon", + "send", + "albert@einstein.com", + "marie@curie.com", + "--message-file", + "./test_data/message.yaml", + ]; + let app = app(); + let matches = app.get_matches_from(args); + let subcommand_matches = matches.subcommand_matches("send"); + assert!(subcommand_matches.is_some()); + } +}