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"
|
||||
run: yarn test
|
||||
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:
|
||||
|
||||
wait_app:
|
||||
image: dadarek/wait-for-dependencies
|
||||
depends_on:
|
||||
- traefik
|
||||
- reverse-proxy
|
||||
command: front:8080
|
||||
cypress:
|
||||
# the Docker image to use from https://github.com/cypress-io/cypress-docker-images
|
||||
image: "cypress/included:3.2.0"
|
||||
depends_on:
|
||||
- traefik
|
||||
- reverse-proxy
|
||||
environment:
|
||||
# pass base url to test pointing at the web application
|
||||
- CYPRESS_baseUrl=http://front:8080
|
||||
|
@ -3,6 +3,8 @@
|
||||
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.
|
||||
|
||||
## Getting Started
|
||||
|
||||
You will need to install theses dependancies on linux (don't know about mac):
|
||||
|
||||
```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
|
||||
|
||||
[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