diff options
Diffstat (limited to 'scripts/frontend/check_no_partial_karma_jest.sh')
-rwxr-xr-x | scripts/frontend/check_no_partial_karma_jest.sh | 38 |
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 |