Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/frontend/check_no_partial_karma_jest.sh')
-rwxr-xr-xscripts/frontend/check_no_partial_karma_jest.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/frontend/check_no_partial_karma_jest.sh b/scripts/frontend/check_no_partial_karma_jest.sh
new file mode 100755
index 00000000000..0d0c897bb18
--- /dev/null
+++ b/scripts/frontend/check_no_partial_karma_jest.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+karma_files=$(find spec/javascripts ee/spec/javascripts -type f -name '*_spec.js' -not -path '*/helpers/*')
+violations=""
+
+for karma_file in $karma_files; do
+ jest_file=${karma_file/spec\/javascripts/"spec/frontend"}
+
+ if [ -f $jest_file ]; then
+ violations="$violations $jest_file"
+ fi
+done
+
+if [[ -z "$violations" ]]; then
+ echo "All good!"
+ exit 0
+else
+ echo "Danger! The following Jest specs have corresponding files in the Karma spec directory (i.e. spec/javascripts):"
+ echo ""
+ echo "------------------------------"
+ for file in $violations; do
+ echo $file
+ done
+ echo "------------------------------"
+ echo ""
+ echo "For each of these files, please either:"
+ echo ""
+ echo "1. Fully migrate the file to Jest and remove the corresponding Karma file."
+ echo "2. Remove the Jest file for now, make any relevant changes in the corresponding Karma file, and handle the migration to Jest in a separate MR."
+ echo ""
+ echo "Why is this a problem?"
+ echo ""
+ echo "- It's nice to have a single source of truth for the unit tests of a subject."
+ echo "- This will cause conflicts if the remaining Karma spec is migrated using our automated tool."
+ echo " https://gitlab.com/gitlab-org/frontend/playground/migrate-karma-to-jest"
+ echo ""
+ exit 1
+fi