tauri-latest-json 0.4.2

Generate multi-platform Tauri updater latest.json from built installers
Documentation
use assert_cmd::Command;
use predicates::prelude::PredicateBooleanExt;
use predicates::str::contains;

#[test]
fn help_flag_prints_usage() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .arg("--help")
        .assert()
        .success()
        .stdout(contains("Usage"));
}

#[test]
fn help_positional_prints_usage() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .arg("help")
        .assert()
        .success()
        .stdout(contains("Usage"));
}

#[test]
fn version_flag_prints_version() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .arg("--version")
        .assert()
        .success()
        .stdout(contains(env!("CARGO_PKG_VERSION")));
}

#[test]
fn version_positional_prints_version() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .arg("version")
        .assert()
        .success()
        .stdout(contains(env!("CARGO_PKG_VERSION")));
}

#[test]
fn no_args_fails_without_tty_prompt() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .assert()
        .failure()
        .stderr(contains("download_url_base").and(contains("not in a terminal")));
}

#[test]
fn missing_notes_fails_without_tty_prompt() {
    Command::cargo_bin("tauri-latest-json")
        .unwrap()
        .arg("https://example.com/downloads")
        .assert()
        .failure()
        .stderr(contains("notes").and(contains("not in a terminal")));
}