diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 255233df4d7b255f5e3ac314910fde3e00905072..2edd2c12ad3f5ef08e673a3e8b2ee9ab56c42e74 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ include:
   - local: 'charts/.utils/gitlab-ci.yaml'
 stages:
   - build
+  - test
   - changelog
   - release
 
diff --git a/charts/.utils/gitlab-ci.yaml b/charts/.utils/gitlab-ci.yaml
index 2e45ade0d6cea16ff6257c478437f19b57a1a3db..0801e34c526dbf1d63daf0473eeb2960c206fdf5 100644
--- a/charts/.utils/gitlab-ci.yaml
+++ b/charts/.utils/gitlab-ci.yaml
@@ -17,3 +17,23 @@ chart-build-keycloak:
     - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
       changes:
         - charts/${CHART}/Chart.yaml
+
+chart-helm-unittest:
+  stage: test
+  extends: .chart-matrix
+  image:
+    name: docker.io/quintush/helm-unittest:3.10.0-0.2.9
+    entrypoint: [""]
+  script:
+    - helm unittest -3 -o helm-unittest.xml -t junit charts/${CHART}
+  artifacts:
+    when: always
+    reports:
+      junit:
+        - helm-unittest.xml
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "push"'
+      changes:
+        - charts/${CHART}/**/*
+      exists:
+        - charts/${CHART}/tests/