From 2a04de41acb7f61c03c7c362c55884aa4a5dc9a6 Mon Sep 17 00:00:00 2001 From: Emmanuel Valverde Ramos Date: Thu, 17 Oct 2024 18:51:11 +0200 Subject: [PATCH] Test that covers the source of a file and check the spies (#380) Co-authored-by: Chemaclass --- install.sh | 2 +- src/test_doubles.sh | 1 + tests/unit/console_results_test.sh | 1 - tests/unit/fixtures/fake_function_to_spy.sh | 5 +++ tests/unit/test_doubles_test.sh | 40 +++++++++++++++++++++ 5 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 tests/unit/fixtures/fake_function_to_spy.sh diff --git a/install.sh b/install.sh index f158d959..ee328ecb 100755 --- a/install.sh +++ b/install.sh @@ -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) diff --git a/src/test_doubles.sh b/src/test_doubles.sh index c450fa16..a149e527 100644 --- a/src/test_doubles.sh +++ b/src/test_doubles.sh @@ -96,3 +96,4 @@ function assert_have_been_called_times() { state::add_assertions_passed } + diff --git a/tests/unit/console_results_test.sh b/tests/unit/console_results_test.sh index d1f99fe2..1cb6e5a5 100644 --- a/tests/unit/console_results_test.sh +++ b/tests/unit/console_results_test.sh @@ -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=$( diff --git a/tests/unit/fixtures/fake_function_to_spy.sh b/tests/unit/fixtures/fake_function_to_spy.sh new file mode 100644 index 00000000..1c630364 --- /dev/null +++ b/tests/unit/fixtures/fake_function_to_spy.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +function function_to_be_spied_on(){ + echo "this function should be spy and not execute" +} diff --git a/tests/unit/test_doubles_test.sh b/tests/unit/test_doubles_test.sh index 9c9e489a..6e6748d3 100644 --- a/tests/unit/test_doubles_test.sh +++ b/tests/unit/test_doubles_test.sh @@ -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 +} +