90 lines
1.8 KiB
Bash
90 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
setup() {
|
|
source ../generatetask
|
|
}
|
|
|
|
test_taskl_runs_task_with_correct_parameters() {
|
|
fake task 'echo "task ${FAKE_PARAMS[@]}"'
|
|
expected="task rc.verbose:nothing rc.report.list.columns:id rc.report.list.labels:id list"
|
|
|
|
result="$(taskl)"
|
|
|
|
assert_equals "$expected" "$result"
|
|
}
|
|
|
|
test_taskl_runs_task_with_custom_parameters() {
|
|
fake task 'echo "task ${FAKE_PARAMS[@]}"'
|
|
expected="task rc.verbose:nothing rc.report.list.columns:id rc.report.list.labels:id +ACTIVE -BLOCKED list"
|
|
|
|
result="$(taskl +ACTIVE -BLOCKED)"
|
|
|
|
assert_equals "$expected" "$result"
|
|
}
|
|
|
|
test_get_active_task_count_calls_taskl_with_correct_filter() {
|
|
fake taskl 'echo "taskl ${FAKE_PARAMS[@]}"'
|
|
fake wc 'cat'
|
|
expected="taskl +ACTIVE"
|
|
|
|
result="$(get_active_task_count)"
|
|
|
|
assert_equals "$expected" "$result"
|
|
}
|
|
|
|
test_check_active_task_returns_1_when_no_active_task() {
|
|
fake task 'printf ""'
|
|
expected=1
|
|
|
|
check_active_task
|
|
|
|
assert_equals "$expected" "$?"
|
|
}
|
|
|
|
test_check_active_task_returns_0_when_one_active_task() {
|
|
fake taskl 'printf "28\n"'
|
|
expected=0
|
|
|
|
check_active_task
|
|
|
|
assert_equals "$expected" "$?"
|
|
}
|
|
|
|
test_check_active_task_returns_0_when_multiple_active_tasks() {
|
|
fake taskl 'printf "28\n29\n30\n"'
|
|
expected=0
|
|
|
|
check_active_task
|
|
|
|
assert_equals "$expected" "$?"
|
|
}
|
|
|
|
test_pick_random_task_id_picks_random_id() {
|
|
fake taskl 'printf "28\n29\n30\n"'
|
|
fake shuf 'head -n 1'
|
|
expected="28"
|
|
|
|
result="$(pick_random_task_id)"
|
|
|
|
assert_equals "$expected" "$result"
|
|
}
|
|
|
|
test_generate_task_exits_1_if_task_active() {
|
|
fake check_active_task 'return 0'
|
|
|
|
generate_task
|
|
|
|
assert_equals "1" "$?"
|
|
}
|
|
|
|
test_generate_task_starts_random_task_if_no_task_active() {
|
|
fake check_active_task 'return 1'
|
|
fake pick_random_task_id 'printf 28'
|
|
fake task 'echo "task ${FAKE_PARAMS[@]}"'
|
|
expected="task rc.verbose:nothing 28 start"
|
|
|
|
result="$(generate_task)"
|
|
|
|
assert_equals "$expected" "$result"
|
|
}
|