diff --git a/crates/radicle-cli/tests/commands.rs b/crates/radicle-cli/tests/commands.rs index 60e50059..cf617f94 100644 --- a/crates/radicle-cli/tests/commands.rs +++ b/crates/radicle-cli/tests/commands.rs @@ -3,7 +3,6 @@ use std::path::Path; use std::str::FromStr; use std::{fs, net, thread, time}; -use radicle::git; use radicle::node; use radicle::node::address::Store as _; use radicle::node::config::seeds::RADICLE_NODE_BOOTSTRAP_IRIS; @@ -37,6 +36,7 @@ mod commands { mod inbox; mod init; mod issue; + mod jj; } /// Run a CLI test file. @@ -275,48 +275,6 @@ fn rad_patch() { Environment::alice(["rad-init", "rad-patch"]); } -#[test] -fn rad_jj_bare() { - // We test whether `jj` is installed, and have this test succeed if it is not. - // Programmatic skipping of tests is not supported as of 2024-08. - if !program_reports_version("jj") { - return; - } - - let mut environment = Environment::new(); - let mut profile = environment.node("alice"); - let rid = profile.project("heartwood", "Radicle Heartwood Protocol & Stack"); - - test( - "examples/rad-init-existing-bare.md", - environment.work(&profile), - Some(&profile.home), - [( - "URL", - git::url::File::new(profile.storage.path()) - .rid(rid) - .to_string() - .as_str(), - )], - ) - .unwrap(); - - environment - .tests(["jj-config", "jj-init-bare"], &profile) - .unwrap(); -} - -#[test] -fn rad_jj_colocated_patch() { - // We test whether `jj` is installed, and have this test succeed if it is not. - // Programmatic skipping of tests is not supported as of 2024-08. - if !program_reports_version("jj") { - return; - } - - Environment::alice(["rad-init", "jj-config", "jj-init-colocate", "rad-patch-jj"]) -} - #[test] fn rad_patch_diff() { Environment::alice(["rad-init", "rad-patch-diff"]); diff --git a/crates/radicle-cli/tests/commands/jj.rs b/crates/radicle-cli/tests/commands/jj.rs new file mode 100644 index 00000000..c0c01d00 --- /dev/null +++ b/crates/radicle-cli/tests/commands/jj.rs @@ -0,0 +1,45 @@ +use crate::util::environment::Environment; +use crate::{program_reports_version, test}; +use radicle::git; + +#[test] +fn rad_jj_bare() { + // We test whether `jj` is installed, and have this test succeed if it is not. + // Programmatic skipping of tests is not supported as of 2024-08. + if !program_reports_version("jj") { + return; + } + + let mut environment = Environment::new(); + let mut profile = environment.node("alice"); + let rid = profile.project("heartwood", "Radicle Heartwood Protocol & Stack"); + + test( + "examples/rad-init-existing-bare.md", + environment.work(&profile), + Some(&profile.home), + [( + "URL", + git::url::File::new(profile.storage.path()) + .rid(rid) + .to_string() + .as_str(), + )], + ) + .unwrap(); + + environment + .tests(["jj-config", "jj-init-bare"], &profile) + .unwrap(); +} + +#[test] +fn rad_jj_colocated_patch() { + // We test whether `jj` is installed, and have this test succeed if it is not. + // Programmatic skipping of tests is not supported as of 2024-08. + if !program_reports_version("jj") { + return; + } + + Environment::alice(["rad-init", "jj-config", "jj-init-colocate", "rad-patch-jj"]) +}