From 98309a777d346101aab2f13467b926fb2130a691 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lena=20N=C3=B6renberg?= <s80984@beuth-hochschule.de>
Date: Wed, 2 Mar 2022 01:16:01 +0100
Subject: [PATCH] Update Test Job

---
 .gitlab-ci.yml            | 58 +++++++++++++++++++++++++++------------
 app/server/jest.config.js |  3 +-
 2 files changed, 43 insertions(+), 18 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cbb096e..00b9d5f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,13 +11,13 @@ variables:
   k8sVersion: '1.20.5'
 
 stages:
-  - npm
   - build
   - test
   - deploy
   - release
 
 job_build-image:
+  
   stage: build
   tags:
     - docker-privileged
@@ -26,20 +26,24 @@ job_build-image:
     - name: docker:20.10.12-dind
   before_script:
     - apk add --no-cache docker-compose
+    - yarn
     # - docker info
     # - docker-compose --version
   script:
     - docker-compose up -d --build
-
+  cache:
+    paths:
+      - /app/server/node_modules/
+  artifacts:
+    expire_in: 1 days
+    when: on_success
+    paths:
+      - app/server/node_modules/
   after_script:
     - docker-compose down
 
 job_test-image:
-
-
   stage: test
-  tags:
-    - docker-privileged
   image: docker:20.10.12
   services:
     - name: docker:20.10.12-dind
@@ -49,18 +53,38 @@ job_test-image:
     outerPort: '38080'
   before_script:
     - apk add --no-cache docker-compose
-    # - yarn add --dev jest-junit
-
   script:
-    - docker-compose -f docker-compose.test.yml up --build
-    - if [$(grep "exited with code 0")]; then exit 0; else exit 1; fi || true
-    # - grep 'exited with code 0'
-    #   exit 0
-
-  after_script:
-    # NOTE: clean up after test run (stop and remove container)
-    # - docker rm --force "${CI_PROJECT_ID}-${CI_PIPELINE_IID}"
-    - docker-compose down
+    - 'jest --ci --reporters=default --reporters=jest-junit'
+  artifacts:
+    when: always
+    reports:
+      junit:
+        - junit.xml
+
+  # stage: test
+  # tags:
+  #   - docker-privileged
+  # image: docker:20.10.12
+  # services:
+  #   - name: docker:20.10.12-dind
+  #     alias: containerhost
+  # variables:
+  #   # NOTE: some random port that hopefully is free on the runner
+  #   outerPort: '38080'
+  # before_script:
+  #   - apk add --no-cache docker-compose
+  #   # - yarn add --dev jest-junit
+
+  # script:
+  #   - docker-compose -f docker-compose.test.yml up --build
+  #   - if [$(grep "exited with code 0")]; then exit 0; else exit 1; fi || true
+  #   # - grep 'exited with code 0'
+  #   #   exit 0
+
+  # after_script:
+  #   # NOTE: clean up after test run (stop and remove container)
+  #   # - docker rm --force "${CI_PROJECT_ID}-${CI_PIPELINE_IID}"
+  #   - docker-compose down
 
 
 job_deploy-new-version:
diff --git a/app/server/jest.config.js b/app/server/jest.config.js
index 606b595..5780873 100644
--- a/app/server/jest.config.js
+++ b/app/server/jest.config.js
@@ -1,3 +1,4 @@
 module.exports = {
-    testEnvironment: 'node'
+    testEnvironment: 'node',
+    testResultsProcessor: 'jest-junit'
 };
-- 
GitLab