diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..29858a3a14cbbf014cf2a9fbcc156aaf3e506b55
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,18 @@
+stages:
+  - test
+  - cleanup
+
+test:
+  stage: test
+  tags:
+    - private
+  script:
+    - make test
+    - sudo /bin/chown -R gitlab-runner target
+
+cleanup:
+  stage: cleanup
+  tags:
+    - private
+  script:
+    - make clean_test
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15e5d779070b7286ce17437e921e102985df49b1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,24 @@
+all: run
+
+run:
+	@docker-compose -f docker-compose.yml up -d
+
+logs:
+	@docker-compose -f docker-compose.yml logs -f
+
+clean_test:
+	@docker-compose -f docker-compose.test.yml run test_builder mvn clean -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+	@docker-compose -f docker-compose.test.yml down
+
+test:
+	@docker-compose -f docker-compose.test.yml build
+	@docker-compose -f docker-compose.test.yml run test_builder mvn clean test -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+
+build:
+	@docker-compose -f docker-compose.yml build
+
+clean:
+	@docker-compose -f docker-compose.yml down
+
+rm:
+	@docker-compose -f docker-compose.yml down -v
diff --git a/docker-compose.test.yml b/docker-compose.test.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c2d587df4489a93e0573e97b4063ffbd231466f2
--- /dev/null
+++ b/docker-compose.test.yml
@@ -0,0 +1,30 @@
+version: '3.7'
+
+networks:
+  test_corporate_network:
+    name: 'tcn2'
+
+services:
+  test_builder:
+    build: .
+    restart: always
+    container_name: 'test_corporate_builder2'
+    depends_on:
+      - test_db
+    working_dir: '/app'
+    volumes:
+      - .:/app
+    networks:
+      - test_corporate_network
+
+  test_db:
+    image: 'postgres:10-alpine'
+    container_name: 'test_corporate_db2'
+    environment:
+      POSTGRES_DB: cinema
+      POSTGRES_USER: postgres
+      POSTGRES_PASSWORD: postgres
+    networks:
+      test_corporate_network:
+        aliases:
+          - corporate_db2
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index a6108da5bd6b9a916cb27407dad845d929cc2c85..09eba51bf484cfc2417414989601d199d170c9c5 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -42,6 +42,4 @@ services:
 
 volumes:
   m2:
-  js:
-  css:
   db_data:
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index faafc86e7df031e001a3041b656d4b5ddbc24bca..cd7aa6d80537195be405de21414d4e6c01f94144 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,11 @@
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-jpa</artifactId>
diff --git a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt b/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt
index 3c00d1bc0e20ea665fbdc2f1e5c108af079a6476..5ae1ccc139ef5dad7eaa0f77422a05d76a975247 100644
--- a/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt
+++ b/src/test/kotlin/com/s3ai/corporate_app2/CorporateApp2ApplicationTests.kt
@@ -1,16 +1,20 @@
 package com.s3ai.corporate_app2
 
-import org.junit.jupiter.api.Assertions.assertEquals
+import com.s3ai.corporate_app2.controllers.CinemasController
+import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
+import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 
+
 @SpringBootTest
 class CorporateApp2ApplicationTests {
+    @Autowired
+    private lateinit var controller: CinemasController
 
     @Test
+    @Throws(Exception::class)
     fun contextLoads() {
-        var result = "default"
-        assertEquals("default", result)
+        assertThat(controller).isNotNull
     }
-
 }