zk/tests/test_main.sh

69 lines
1.2 KiB
Bash

#!/bin/bash
setup() {
source ../zk
}
test_main_calls_list_when_list_command_passed() {
fake check_zkdir test
expected="_zk_list"
fake get_command 'echo list'
fake _zk_list "echo $expected"
result="$(main)"
assert_equals "$expected" "$result"
}
test_main_calls_search_when_search_command_passed() {
fake check_zkdir test
expected="_zk_search"
fake get_command 'echo search'
fake _zk_search "echo $expected"
result="$(main)"
assert_equals "$expected" "$result"
}
test_main_calls_new_when_new_command_passed() {
fake check_zkdir test
expected="_zk_new"
fake get_command 'echo new'
fake _zk_new "echo $expected"
result="$(main)"
assert_equals "$expected" "$result"
}
test_main_calls_edit_when_edit_command_passed() {
fake check_zkdir test
expected="_zk_edit"
fake get_command 'echo edit'
fake _zk_edit "echo $expected"
result="$(main)"
assert_equals "$expected" "$result"
}
test_main_calls_rm_when_rm_command_passed() {
fake check_zkdir test
expected="_zk_rm"
fake get_command 'echo rm'
fake _zk_rm "echo $expected"
result="$(main)"
assert_equals "$expected" "$result"
}
test_main_errors_if_unrecognized_command_given() {
fake check_zkdir test
fake get_command echo ""
assert_status_code 2 main
}