From 36d68680c1b70c0e89dd9c4bd6e11b45b480022b Mon Sep 17 00:00:00 2001
From: Wei Zhu <yesmeck@gmail.com>
Date: Mon, 19 Sep 2016 15:51:25 +0800
Subject: [PATCH] Add test for special scripts versions (#681)

---
 tasks/e2e.sh | 42 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/tasks/e2e.sh b/tasks/e2e.sh
index 0cd92b0d2..d2473dbd8 100755
--- a/tasks/e2e.sh
+++ b/tasks/e2e.sh
@@ -36,6 +36,10 @@ function handle_exit {
   exit
 }
 
+function create_react_app {
+  node "$temp_cli_path"/node_modules/create-react-app/index.js $*
+}
+
 # Exit the script with a helpful error message when any error is encountered
 trap 'set +x; handle_error $LINENO $BASH_COMMAND' ERR
 
@@ -124,7 +128,7 @@ npm install $cli_path
 # Install the app in a temporary location
 temp_app_path=`mktemp -d 2>/dev/null || mktemp -d -t 'temp_app_path'`
 cd $temp_app_path
-node "$temp_cli_path"/node_modules/create-react-app/index.js --scripts-version=$scripts_path test-app
+create_react_app --scripts-version=$scripts_path test-app
 
 # ******************************************************************************
 # Now that we used create-react-app to create an app depending on react-scripts,
@@ -178,5 +182,41 @@ npm test -- --watch=no
 # Test the server
 npm start -- --smoke-test
 
+
+# ******************************************************************************
+# Test --scripts-version is a version number
+# ******************************************************************************
+
+cd $temp_app_path
+create_react_app --scripts-version=0.4.0 test-app-version-number
+cd test-app-version-number
+
+# Check corresponding scripts version is installed.
+test -e node_modules/react-scripts
+grep '"version": "0.4.0"' node_modules/react-scripts/package.json
+
+# ******************************************************************************
+# Test --scripts-version is a tarball url
+# ******************************************************************************
+
+cd $temp_app_path
+create_react_app --scripts-version=https://registry.npmjs.org/react-scripts/-/react-scripts-0.4.0.tgz test-app-tarball-url
+cd test-app-tarball-url
+
+# Check corresponding scripts version is installed.
+test -e node_modules/react-scripts
+grep '"version": "0.4.0"' node_modules/react-scripts/package.json
+
+# ******************************************************************************
+# Test --scripts-version is a custom fork of react-scripts
+# ******************************************************************************
+
+cd $temp_app_path
+create_react_app --scripts-version=react-scripts-fork test-app-fork
+cd test-app-fork
+
+# Check corresponding scripts version is installed.
+test -e node_modules/react-scripts-fork
+
 # Cleanup
 cleanup
-- 
GitLab