diff --git a/Doxyfile b/Doxyfile
index 74106514455aebf3fe546c216312ed2b59a39d67..91f426347d80a2d65410a13913d0f68bf67821fa 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -780,6 +780,7 @@ RECURSIVE              = YES
 # run.
 
 EXCLUDE                = vendor \
+                         composer \
                          public/plugins_packages \
                          db \
                          locale \
diff --git a/lib/classes/StudipAutoloader.php b/lib/classes/StudipAutoloader.php
index d7904d16693f7ffab01bff9b7161af9db738e59c..985fbd0fcc179a970dd6181939d063b26ea20003 100644
--- a/lib/classes/StudipAutoloader.php
+++ b/lib/classes/StudipAutoloader.php
@@ -309,7 +309,7 @@ class StudipAutoloader
      */
     private static function sanitizePath($path)
     {
-        if (mb_strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) {
+        if (isset($GLOBALS['STUDIP_BASE_PATH']) && strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) {
             return ltrim(str_replace($GLOBALS['STUDIP_BASE_PATH'], '', $path), DIRECTORY_SEPARATOR);
         }
         return $path;
diff --git a/lib/classes/StudipCacheFactory.class.php b/lib/classes/StudipCacheFactory.class.php
index ce79383f58addcc4b8420c59ec0008b08340e8dd..805aa9d8be8ae3c41bda9849f89766ad2050fbb0 100644
--- a/lib/classes/StudipCacheFactory.class.php
+++ b/lib/classes/StudipCacheFactory.class.php
@@ -182,7 +182,7 @@ class StudipCacheFactory
      */
     public static function loadCacheClass()
     {
-        $cacheConfig = Config::get()->SYSTEMCACHE;
+        $cacheConfig = self::getConfig()->SYSTEMCACHE;
 
         $cache_class = $cacheConfig['type'] ?: null;
 
@@ -222,7 +222,7 @@ class StudipCacheFactory
      */
     public static function retrieveConstructorArguments()
     {
-        $cacheConfig = Config::get()->SYSTEMCACHE;
+        $cacheConfig = self::getConfig()->SYSTEMCACHE;
 
         return $cacheConfig ?: [];
     }
diff --git a/tests/_data/simpleormap/cronjobs_tasks.php b/tests/_data/simpleormap/cronjobs_tasks.php
new file mode 100644
index 0000000000000000000000000000000000000000..43614b63162adc51039351afb0093e01fbd26b49
--- /dev/null
+++ b/tests/_data/simpleormap/cronjobs_tasks.php
@@ -0,0 +1,75 @@
+<?php
+$result =  [
+  0 =>
+   [
+    'name' => 'task_id',
+    'type' => 'char(32)',
+    'null' => 'NO',
+    'key' => 'PRI',
+    'default' => '',
+    'extra' => '',
+  ],
+  1 =>
+   [
+    'name' => 'filename',
+    'type' => 'varchar(255)',
+    'null' => 'NO',
+    'key' => '',
+    'default' => '',
+    'extra' => '',
+  ],
+  2 =>
+   [
+    'name' => 'class',
+    'type' => 'varchar(255)',
+    'null' => 'NO',
+    'key' => '',
+    'default' => '',
+    'extra' => '',
+  ],
+  3 =>
+   [
+    'name' => 'active',
+    'type' => 'tinyint(1) unsigned',
+    'null' => 'NO',
+    'key' => '',
+    'default' => 0,
+    'extra' => '',
+  ],
+  4 =>
+   [
+    'name' => 'execution_count',
+    'type' => 'bigint(20) unsigned',
+    'null' => 'NO',
+    'key' => '',
+    'default' => 0,
+    'extra' => '',
+  ],
+  5 =>
+   [
+    'name' => 'assigned_count',
+    'type' => 'int(11) unsigned',
+    'null' => 'NO',
+    'key' => '',
+    'default' => 0,
+    'extra' => '',
+  ],
+  6 =>
+   [
+    'name' => 'mkdate',
+    'type' => 'int(11) unsigned',
+    'null' => 'YES',
+    'key' => '',
+    'default' => NULL,
+    'extra' => '',
+  ],
+  7 =>
+   [
+    'name' => 'chdate',
+    'type' => 'int(11) unsigned',
+    'null' => 'YES',
+    'key' => '',
+    'default' => NULL,
+    'extra' => '',
+  ],
+];
diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php
index 1acb4d42e80c55d567dbe9a6de25255e8f8135cc..cfa78f6c70bbc629eac9deeb7a5755e1e46a0f27 100644
--- a/tests/unit/_bootstrap.php
+++ b/tests/unit/_bootstrap.php
@@ -109,7 +109,7 @@ if (!class_exists('StudipTestHelper')) {
         static function set_up_tables($tables)
         {
             // first step, set fake cache
-            $testconfig = new Config(['cache_class' => 'StudipArrayCache']);
+            $testconfig = new Config(['SYSTEMCACHE' => ['type' => 'StudipArrayCache']]);
             Config::set($testconfig);
             StudipCacheFactory::setConfig($testconfig);
 
diff --git a/tests/unit/lib/VisualTest.php b/tests/unit/lib/VisualTest.php
index 264000b7a341cdb212abe488d0d92a566074539b..3d2f03a77dc713c4e7b91ce680044ab0816f7b4b 100644
--- a/tests/unit/lib/VisualTest.php
+++ b/tests/unit/lib/VisualTest.php
@@ -9,7 +9,6 @@
  * the License, or (at your option) any later version.
  */
 
-require_once 'config.inc.php'; //$SMILE_SHORT and $SYMBOL_SHORT needed by formatReady
 require_once 'lib/models/SimpleORMap.class.php';
 require_once 'lib/models/OpenGraphURL.class.php';
 require_once 'lib/visual.inc.php';
@@ -28,6 +27,7 @@ class VisualFunctionsTest extends \Codeception\Test\Unit
         Config::set(new Config($config));
 
         $GLOBALS['SMILEY_NO_DB'] = true;
+        $GLOBALS['SYMBOL_SHORT'] = [];
     }
 
     public function tearDown()
diff --git a/tests/unit/lib/classes/CronjobScheduleTest.php b/tests/unit/lib/classes/CronjobScheduleTest.php
index 5e05663f9de33510efe38405b7118d1fa51cf6da..e218b7ed980f856e107b1c0da687a8eee1677245 100644
--- a/tests/unit/lib/classes/CronjobScheduleTest.php
+++ b/tests/unit/lib/classes/CronjobScheduleTest.php
@@ -18,7 +18,7 @@ class CronjobScheduleTest extends \Codeception\Test\Unit
     {
         date_default_timezone_set('Europe/Berlin');
 
-        StudipTestHelper::set_up_tables(['cronjobs_schedules']);
+        StudipTestHelper::set_up_tables(['cronjobs_schedules', 'cronjobs_tasks']);
     }
 
     function tearDown()
diff --git a/tests/unit/lib/classes/CsrfProtectionTest.php b/tests/unit/lib/classes/CsrfProtectionTest.php
index 17306fd548790af8fe3ed7d3e428a4ef31f07aa0..ce556b8966358630fa3ab31e64f809ecc04544a7 100644
--- a/tests/unit/lib/classes/CsrfProtectionTest.php
+++ b/tests/unit/lib/classes/CsrfProtectionTest.php
@@ -117,8 +117,8 @@ class CSRFRequestTest extends \Codeception\Test\Unit
         $_SERVER['REQUEST_METHOD'] = 'POST';
         $_SERVER['HTTP_X_REQUESTED_WITH'] = 'XmlHttpRequest';
         unset($_POST['security_token']);
+        $this->expectException(InvalidSecurityTokenException::class);
         CSRFProtection::verifyUnsafeRequest();
-        $this->assertTrue(true);
     }
 
     function testUnsafeXHRWithToken()