diff --git a/src/cli.rs b/src/cli.rs index f97b72a..c87c934 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1225,7 +1225,15 @@ fn cmd_list( "gsmg" => gsmg::all().collect(), "hash_collision" | "peter_todd" => hash_collision::all().collect(), "zden" => zden::all().collect(), - _ => boha::all().collect(), + "all" => boha::all().collect(), + _ => { + eprintln!( + "{} Unknown collection: {}. Use: arweave, b1000, ballet, bitaps, bitimage, gsmg, hash_collision (peter_todd), zden, all", + "Error:".red().bold(), + collection + ); + std::process::exit(1); + } }; let filtered: Vec<_> = puzzles diff --git a/tests/cli.rs b/tests/cli.rs index 078a45f..ddd9e3e 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -164,6 +164,16 @@ mod list { .stdout(predicate::str::contains("\"id\": \"gsmg\"")) .stdout(predicate::str::contains("\"address\":")); } + + #[test] + fn unknown_collection_error() { + boha() + .args(["list", "unknown"]) + .assert() + .failure() + .stderr(predicate::str::contains("Error:")) + .stderr(predicate::str::contains("Unknown collection")); + } } mod show {