#!/usr/bin/env bats

load 'helpers'

setup() { setup_party_sandbox; }
teardown() { teardown_party_sandbox; }

@test "party with no args prints usage and exits non-zero" {
  run "$PARTY_BIN"
  [ "$status" -ne 0 ]
  [[ "$output" == *"Usage:"* ]]
  [[ "$output" == *"host"* ]]
  [[ "$output" == *"join"* ]]
}

@test "party --help prints usage and exits zero" {
  run "$PARTY_BIN" --help
  [ "$status" -eq 0 ]
  [[ "$output" == *"Usage:"* ]]
}

@test "party rejects unknown subcommands" {
  run "$PARTY_BIN" rumpelstiltskin
  [ "$status" -ne 0 ]
  [[ "$output" == *"unknown subcommand"* ]]
}

@test "library mode: source returns without dispatching" {
  load_party_lib
  # If the script ran dispatch, we'd never get here. Reaching this
  # assertion is the test.
  [ -n "${PARTY_VERSION:-}" ]
}
