PromucFlow_constructor/app/client/cypress/test.sh
Arpit Mohan a9ed054cbb
Adding Github Action workflow to the client code base (#66)
This PR adds the build, test & package workflow to the client code base as well.

In order for us to run the Cypress tests, we also spin up a local server in a Docker container and run all our tests against that server. This ensures that our tests are faster to run as well.

We also introduce the concept of stubbing network requests by stubbing the API that fetches the property pane configuration from the server.

Results for the Cypress tests can be viewed at: https://dashboard.cypress.io/projects/eyxvp8/runs/
2020-07-16 11:20:46 +05:30

36 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# By default we assume that the target for the CI is local
target=local
while :; do
case $1 in
-e|--env)
if [ "$2" ]; then
target=$2
shift
else
die 'ERROR: "--env" requires a non-empty option argument. Allowed values local/ci'
fi
;;
--env=?*)
target=${1#*=} # Delete everything up to "=" and assign the remainder.
;;
*) # Default case: No more options, so break out of the loop.
break
esac
shift
done
echo "Got the target: $target"
if [ "$target" == "ci" ]; then
# On the CI server run the tests in parallel
# This requires the projectId and the record_key to be configured in your environment variables. By default this is defined on the CI server
echo "Got the Build ID: $BUILD_ID"
$(npm bin)/cypress run --headless --browser chrome \
--record --key "$CYPRESS_RECORD_KEY" --ci-build-id $BUILD_ID \
--parallel --group "Electrons on Gitlab CI" \
--spec "cypress/integration/Smoke_TestSuite/*/*"
else
$(npm bin)/cypress run --headless --browser chrome --spec "cypress/integration/Smoke_TestSuite/*/*"
fi