Skip to content

Commit

Permalink
Test that covers the source of a file and check the spies (#380)
Browse files Browse the repository at this point in the history
Co-authored-by: Chemaclass <[email protected]>
  • Loading branch information
khru and Chemaclass authored Oct 17, 2024
1 parent 0f8c3e5 commit 2a04de4
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 2 deletions.
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ function build_and_install_beta() {
exit 1
fi

git clone --depth 1 --no-tags $BASHUNIT_GIT_REPO temp_bashunit 2>/dev/null
git clone --depth 1 --no-tags "$BASHUNIT_GIT_REPO" temp_bashunit 2>/dev/null
cd temp_bashunit
./build.sh >/dev/null
local latest_commit=$(git rev-parse --short=7 HEAD)
Expand Down
1 change: 1 addition & 0 deletions src/test_doubles.sh
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,4 @@ function assert_have_been_called_times() {

state::add_assertions_passed
}

1 change: 0 additions & 1 deletion tests/unit/console_results_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ function test_render_execution_time_on_osx_without_perl() {
mock dependencies::has_perl mock_false

_START_TIME=1727771758.0664479733
EPOCHREALTIME=1727780556.4266040325

local render_result
render_result=$(
Expand Down
5 changes: 5 additions & 0 deletions tests/unit/fixtures/fake_function_to_spy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

function function_to_be_spied_on(){
echo "this function should be spy and not execute"
}
40 changes: 40 additions & 0 deletions tests/unit/test_doubles_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,43 @@ function test_unsuccessful_spy_called_times() {
"$(console_results::print_failed_test "Unsuccessful spy called times" "ps" "to has been called" "1 times")"\
"$(assert_have_been_called_times 1 ps)"
}

function test_successful_spy_with_source_function() {
# shellcheck source=/dev/null
source ./fixtures/fake_function_to_spy.sh
spy function_to_be_spied_on

function_to_be_spied_on

assert_have_been_called function_to_be_spied_on
}

function test_unsuccessful_spy_with_source_function_have_been_called() {
# shellcheck source=/dev/null
source ./fixtures/fake_function_to_spy.sh
spy function_to_be_spied_on

function_to_be_spied_on
function_to_be_spied_on

assert_same\
"$(console_results::print_failed_test \
"Unsuccessful spy with source function have been called"\
"function_to_be_spied_on" \
"to has been called" \
"1 times")"\
"$(assert_have_been_called_times 1 function_to_be_spied_on)"
}


function test_successful_spy_called_times_with_source() {
# shellcheck source=/dev/null
source ./fixtures/fake_function_to_spy.sh
spy function_to_be_spied_on

function_to_be_spied_on
function_to_be_spied_on

assert_have_been_called_times 2 function_to_be_spied_on
}

0 comments on commit 2a04de4

Please sign in to comment.