From eea6d0effb0ad7b5463639859f5810d7bbb2908f Mon Sep 17 00:00:00 2001
From: Daniel <daniel.fernandez@feverup.com>
Date: Tue, 2 May 2023 21:08:06 +0200
Subject: [PATCH] feat: refactor on sparse-checkout test

---
 __test__/verify-sparse-checkout-basic.sh |  9 +++
 __test__/verify-sparse-checkout.sh       | 71 ++++++++++--------------
 2 files changed, 38 insertions(+), 42 deletions(-)

diff --git a/__test__/verify-sparse-checkout-basic.sh b/__test__/verify-sparse-checkout-basic.sh
index 163db29..f8085f4 100755
--- a/__test__/verify-sparse-checkout-basic.sh
+++ b/__test__/verify-sparse-checkout-basic.sh
@@ -1,5 +1,14 @@
 #!/bin/bash
 
+# Verify .git folder
+if [ ! -d "./sparse-checkout/.git" ]; then
+  echo "Expected ./sparse-checkout/.git folder to exist"
+  exit 1
+fi
+
+# Verify sparse-checkout basic
+cd sparse-checkout
+
 SPARSE=$(git sparse-checkout list)
 
 if [ "$?" != "0" ]; then
diff --git a/__test__/verify-sparse-checkout.sh b/__test__/verify-sparse-checkout.sh
index 64b26ca..b0dd060 100755
--- a/__test__/verify-sparse-checkout.sh
+++ b/__test__/verify-sparse-checkout.sh
@@ -1,5 +1,34 @@
 #!/bin/bash
 
+# Verify .git folder
+if [ ! -d "./sparse-checkout/.git" ]; then
+  echo "Expected ./sparse-checkout/.git folder to exist"
+  exit 1
+fi
+
+# Verify sparse-checkout
+cd sparse-checkout
+
+checkSparse () {
+  if [ ! -d "./$1" ]; then
+    echo "Expected directory '$1' to exist"
+    exit 1
+  fi
+
+  for file in $(git ls-tree -r --name-only HEAD $1)
+  do
+    if [ ! -f "$file" ]; then
+      echo "Expected file '$file' to exist"
+      exit 1
+    fi
+  done
+}
+
+# Check that all folders and its childrens has been fetched correctly
+checkSparse __test__
+checkSparse .github
+checkSparse dist
+
 # Check that only sparse-checkout folders has been fetched
 for pattern in $(git ls-tree --name-only HEAD)
 do
@@ -9,46 +38,4 @@ do
       exit 1
     fi
   fi
-done
-
-# Check that .github and its childrens has been fetched correctly
-if [ ! -d "./__test__" ]; then
-  echo "Expected directory '__test__' to exist"
-  exit 1
-fi
-
-for file in $(git ls-tree -r --name-only HEAD __test__)
-do
-  if [ ! -f "$file" ]; then
-    echo "Expected file '$file' to exist"
-    exit 1
-  fi
-done
-
-# Check that .github and its childrens has been fetched correctly
-if [ ! -d "./.github" ]; then
-  echo "Expected directory '.github' to exist"
-  exit 1
-fi
-
-for file in $(git ls-tree -r --name-only HEAD .github)
-do
-  if [ ! -f "$file" ]; then
-    echo "Expected file '$file' to exist"
-    exit 1
-  fi
-done
-
-# Check that dist and its childrens has been fetched correctly
-if [ ! -d "./dist" ]; then
-  echo "Expected directory 'dist' to exist"
-  exit 1
-fi
-
-for file in $(git ls-tree -r --name-only HEAD dist)
-do
-  if [ ! -f "$file" ]; then
-    echo "Expected file '$file' to exist"
-    exit 1
-  fi
 done
\ No newline at end of file