integrate it into the ci
This commit is contained in:
parent
a2ed7164e4
commit
56093201fb
18
.github/workflows/continuous_integration.yml
vendored
18
.github/workflows/continuous_integration.yml
vendored
@ -65,3 +65,21 @@ jobs:
|
|||||||
- name: "Jasmine"
|
- name: "Jasmine"
|
||||||
run: yarn test
|
run: yarn test
|
||||||
working-directory: "back"
|
working-directory: "back"
|
||||||
|
|
||||||
|
e2e:
|
||||||
|
name: "End to end testing with cypress"
|
||||||
|
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Checkout"
|
||||||
|
uses: "actions/checkout@v2.0.0"
|
||||||
|
|
||||||
|
- name: "Init .env"
|
||||||
|
run: "cp .env.template .env"
|
||||||
|
|
||||||
|
- name: "Init containers"
|
||||||
|
run: "docker-compose -f docker-compose.yaml -f docker-compose.ci.yml run --rm wait_app" #start the containers and then wait for the website to be online
|
||||||
|
|
||||||
|
- name: "Run cypress"
|
||||||
|
run: "docker-compose -f docker-compose.yaml -f docker-compose.ci.yml up --exit-code-from cypress cypress" # run cypress in docker-compose and get its exit code
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
version: '3.3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
wait_app:
|
wait_app:
|
||||||
image: dadarek/wait-for-dependencies
|
image: dadarek/wait-for-dependencies
|
||||||
depends_on:
|
depends_on:
|
||||||
- traefik
|
- reverse-proxy
|
||||||
command: front:8080
|
command: front:8080
|
||||||
cypress:
|
cypress:
|
||||||
# the Docker image to use from https://github.com/cypress-io/cypress-docker-images
|
# the Docker image to use from https://github.com/cypress-io/cypress-docker-images
|
||||||
image: "cypress/included:3.2.0"
|
image: "cypress/included:3.2.0"
|
||||||
depends_on:
|
depends_on:
|
||||||
- traefik
|
- reverse-proxy
|
||||||
environment:
|
environment:
|
||||||
# pass base url to test pointing at the web application
|
# pass base url to test pointing at the web application
|
||||||
- CYPRESS_baseUrl=http://front:8080
|
- CYPRESS_baseUrl=http://front:8080
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
This project use [cypress](https://www.cypress.io/) to do functional testing of the website.
|
This project use [cypress](https://www.cypress.io/) to do functional testing of the website.
|
||||||
Unfortunately we cannot integrate it with docker-compose for the moment, so you will need to install some packages locally on your pc.
|
Unfortunately we cannot integrate it with docker-compose for the moment, so you will need to install some packages locally on your pc.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
You will need to install theses dependancies on linux (don't know about mac):
|
You will need to install theses dependancies on linux (don't know about mac):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -26,3 +28,9 @@ npm run cy:open
|
|||||||
The first command will run all tests in the terminal, while the second will open the interactive task runner which allow you to easily manage the test workflow
|
The first command will run all tests in the terminal, while the second will open the interactive task runner which allow you to easily manage the test workflow
|
||||||
|
|
||||||
[More details here](https://docs.cypress.io/guides/getting-started/testing-your-app.html#Step-1-Start-your-server)
|
[More details here](https://docs.cypress.io/guides/getting-started/testing-your-app.html#Step-1-Start-your-server)
|
||||||
|
|
||||||
|
## How to test a game
|
||||||
|
|
||||||
|
Cypress cannot "see" and so cannot directly manipulate the canva created by Phaser.
|
||||||
|
|
||||||
|
This means we have to do workarounds such as exposing core objects in the window so that cypress can manipulate them or doing console that cypress can catch.
|
Loading…
Reference in New Issue
Block a user