diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7b683904d1ededd58c57ad4cc9277b0dca4aa694..e96d542da53f21439e076e5db8c0bcd692fc55bd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,13 +2,19 @@ variables:
   BUILD_DIR: dist
 
 stages:
+  - codestyle
   - test
   - build
   - review
   - deploy
 
+cache:
+  key: ${CI_COMMIT_REF_SLUG}
+  paths:
+    - node_modules/
+
 tslint:
-  stage: test
+  stage: codestyle
   tags:
     - nodejs
   allow_failure: false
@@ -23,6 +29,16 @@ tslint:
     - npm install rxjs
     - node_modules/tslint/bin/tslint -p ./tsconfig.json -c ./tslint.json --project
 
+unit_tests:
+  stage: test
+  tags:
+    - nodejs
+  allow_failure: false
+  dependencies: []
+  script:
+    - npm install
+    - npm test
+
 ngbuild:
   stage: build
   tags: