use assert_cmd::prelude::*; use predicates::prelude::*; use std::process::Command; #[path = "integration/environment_tests.rs"] mod environment_tests; #[path = "integration/project_lifecycle_tests.rs"] mod project_lifecycle_tests; #[test] fn test_help_command() { let mut cmd = Command::new(assert_cmd::cargo::cargo_bin!("weevil")); cmd.arg("--help"); cmd.assert() .success() .stdout(predicate::str::contains("FTC robotics project generator")); } #[test] fn test_version_command() { let mut cmd = Command::new(assert_cmd::cargo::cargo_bin!("weevil")); cmd.arg("--version"); cmd.assert() .success() .stdout(predicate::str::contains("1.0.0")); } #[test] fn test_sdk_status_command() { let mut cmd = Command::new(assert_cmd::cargo::cargo_bin!("weevil")); cmd.arg("sdk").arg("status"); cmd.assert() .success() .stdout(predicate::str::contains("SDK Configuration")); }