@@ -19,16 +19,22 @@ function assert_equals {
1919 fi
2020}
2121
22- function beforeEach {
23- export MOCK_ARGUMENT_FILE=" $( mktemp) "
24- export MOCK_TRACKING_FILE=" $( mktemp) "
22+ function beforeAll {
2523 export FOLDER_EXISTS_CMD=$SCRIPT_DIR /mock_cmd.sh
2624 export BUILD_DEPENDS_PATH=$SCRIPT_DIR /mock_cmd.sh
25+ export GIT_CMD=$SCRIPT_DIR /mock_cmd.sh
2726 export PROJECT_ROOT=projects
2827}
2928
29+ function beforeEach {
30+ export MOCK_ARGUMENT_FILE=" $( mktemp) "
31+ export MOCK_TRACKING_FILE=" $( mktemp) "
32+ }
33+
3034SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd ) "
3135
36+ beforeAll
37+
3238echo Scenario: No Files
3339beforeEach
3440
@@ -60,7 +66,8 @@ README.md"
6066EXPECTED_RESULT=" GithubWebhook
6167Other"
6268export MOCK_RESPONSES=' [
63- {"name":"project root folder exists"},
69+ {"name":"repository root","stdout":"/home/git/repo"},
70+ {"name":"project root folder exists","stdout":"1"},
6471 {"name":"dependency folders"},
6572 {"name":"folder 1 exists"},
6673 {"name":"folder 2 exists"}
@@ -90,6 +97,7 @@ EXPECTED_RESULT="GithubWebhook
9097Other
9198project-with-dependency"
9299export MOCK_RESPONSES=' [
100+ {"name":"repository root","stdout":"/home/git/repo"},
93101 {"name":"project root folder exists"},
94102 {"name":"dependency folders","stdout":"project-with-dependency"},
95103 {"name":"folder 1 exists"},
@@ -103,5 +111,45 @@ ACTUAL_RESULT="$(echo "$INPUT" | $CMD)"
103111
104112# THEN
105113
114+ assert_equals " 0" " $? "
115+ assert_equals " $EXPECTED_RESULT " " $ACTUAL_RESULT "
116+
117+ echo Scenario: Project files with dependencies where project root is .
118+ beforeEach
119+
120+ # GIVEN
121+
122+ export PROJECT_ROOT=" ."
123+ INPUT=" .github/workflows/git-flow.yml
124+ GithubWebhook/README.md
125+ GithubWebhook/src/index.ts
126+ Other/README.md
127+ docs/adr/0001-architecture-decision-record.md
128+ README.md"
129+ EXPECTED_RESULT=" GithubWebhook
130+ Other
131+ docs
132+ project-with-dependency"
133+ export MOCK_RESPONSES=' [
134+ {"name":"repository root","stdout":"/home/git/repo"},
135+ {"name":"folder 1 exists"},
136+ {"name":"folder 2 exists"},
137+ {"name":"folder 3 exists"},
138+ {"name":"README.md is not a folder","stdout":"0"},
139+ {"name":"folder 4 exists"},
140+ {"name":"dependency folders","stdout":"project-with-dependency"},
141+ {"name":"folder 1 exists"},
142+ {"name":"folder 2 exists"},
143+ {"name":"folder 3 exists"},
144+ {"name":"folder 4 exists"},
145+ {"name":"folder 5 exists"}
146+ ]'
147+
148+ # WHEN
149+
150+ ACTUAL_RESULT=" $( echo " $INPUT " | $CMD ) "
151+
152+ # THEN
153+
106154assert_equals " 0" " $? "
107155assert_equals " $EXPECTED_RESULT " " $ACTUAL_RESULT "
0 commit comments