integrate it into the ci
authorkharhamel <oognic@gmail.com>
Tue, 14 Apr 2020 18:16:51 +0000 (20:16 +0200)
committerkharhamel <oognic@gmail.com>
Tue, 14 Apr 2020 18:23:00 +0000 (20:23 +0200)
.github/workflows/continuous_integration.yml
docker-compose.ci.yml
e2e/CYPRESS.md

index 6e6745e41b45ce22836abf26933a5df6223f1321..35311fd139d037fc8f26b0241e43c91f445639e8 100644 (file)
@@ -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
index eee558ccf3e10235041fae7b955b9de20ac35478..614a6c8202466b97651f6de583dfd1bf64c8cdb3 100644 (file)
@@ -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
index 4ab56cbbd319d9e045aedda8ee7402773924c9fd..dce9d698c9bd9a14d91aec2e42410a93d60a1247 100644 (file)
@@ -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.
\ No newline at end of file