version: 2.1 commands: install: steps: - checkout - restore_cache: keys: - v1-deps-{{ .Branch }}-{{ checksum "package.json" }} - v1-deps-{{ .Branch }} - v1-deps - run: yarn install --frozen-lockfile - save_cache: key: v1-deps-{{ .Branch }}-{{ checksum "package.json" }} paths: - ~/.cache cypress: parameters: language: type: enum enum: [fr, en] default: fr integration_folder: type: enum enum: [mon-entreprise, external] default: mon-entreprise base_url: type: string default: https://mon-entreprise.fr steps: - run: CYPRESS_baseUrl=<< parameters.base_url >> yarn run cypress run --record --key 21660df5-36a5-4c49-b23d-801799b0c759 --env language=<< parameters.language >> --config integrationFolder=cypress/integration/<< parameters.integration_folder >> jobs: unit-test: docker: - image: node steps: - install - run: | yarn run flow-typed install git config --global core.quotepath false yarn test end-to-end-test: docker: - image: cypress/base:8 environment: TERM: xterm steps: - install - run: yarn run compile-dev - run: command: yarn run serve-dev background: true - cypress: base_url: http://localhost:5000 - cypress: base_url: http://localhost:5001 language: en production-end-to-end-test: docker: - image: cypress/base:8 environment: TERM: xterm parameters: steps: - checkout - run: npm install --save-dev cypress - run: sleep 200 - cypress: base_url: https://mon-entreprise.fr - cypress: base_url: https://mycompanyinfrance.fr language: en - cypress: integration_folder: external - run: name: Send email if test failed when: on_fail command: > curl -H 'Content-Type: application/json' --request POST -d '{"success": false}' https://hooks.zapier.com/hooks/catch/3746650/qsp818/; workflows: version: 2 test: jobs: - unit-test - end-to-end-test - production-end-to-end-test: filters: branches: only: master