diff --git a/lib/resources/ResourceManager.class.php b/lib/resources/ResourceManager.class.php
index e0d946676179c0bb45ed2987db2e5e8823d5f0bf..13588a4781493ee9238c4cd9d831d7fdabf95bbe 100644
--- a/lib/resources/ResourceManager.class.php
+++ b/lib/resources/ResourceManager.class.php
@@ -534,6 +534,24 @@ class ResourceManager
         }
     }
 
+    /**
+     * Check if the coordinate are in appropriate CRSWGS_84 format.
+     *
+     * - latitude: up to 2 digits, decimal point, 1 to 10 digits for fraction
+     * - longitude: up to 3 digits, decimal point, 1 to 10 digits for fraction
+     * - altitude: up to 5 digits, decimal point, 1 to 10 digits for fraction
+     *
+     * @param string $coordinate_string
+     * @return bool
+     */
+    public static function validateCoordinates(string $coordinate_string): bool
+    {
+        return preg_match(
+            ResourcePropertyDefinition::CRSWGS84_REGEX,
+            $coordinate_string
+        );
+    }
+
 
     // Static methods for position properties:
 
@@ -557,17 +575,8 @@ class ResourceManager
         $coordinate_string = $property->state;
 
 
-        //Check, if the coordinate string ends with "CRSWGS_84/"
-        //and if all the numbers are in the appropriate format:
-        //- latitude: up to 2 digits, decimal point, 1 to 10 digits for fraction
-        //- longitude: up to 3 digits, decimal point, 1 to 10 digits for fraction
-        //- altitude: up to 5 digits, decimal point, 1 to 10 digits for fraction
-        //before the decimal point. After the decimal point,
-        //In that case it is a coordinate format we can parse:
-        if(!preg_match(
-            ResourcePropertyDefinition::CRSWGS84_REGEX,
-            $coordinate_string
-        )) {
+        // Show error message when coordinates are invalid
+        if (!self::validateCoordinates($coordinate_string)) {
             PageLayout::postError(_('Die Positionsangabe kann nicht umgewandelt werden, da sie ungültige Daten enthält!'));
         }
 
diff --git a/tests/functional/lib/models/resources/BuildingTest.php b/tests/functional/lib/models/resources/BuildingTest.php
index c3f4e82136f4eff74200a55b721959c032db5ddc..109cccb50279c3297a04f51801e030f69d6ca7ed 100644
--- a/tests/functional/lib/models/resources/BuildingTest.php
+++ b/tests/functional/lib/models/resources/BuildingTest.php
@@ -46,7 +46,7 @@ class BuildingTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'autor'], false)
+            \User::findByUsername('root@studip')
         );
 
         //As a final step we create the SORM objects for our test cases:
diff --git a/tests/functional/lib/models/resources/LocationTest.php b/tests/functional/lib/models/resources/LocationTest.php
index ba18e7e91d0d76b20623cc8ac06d412d684e9c6d..97b139c42b4d2c703cd84578324db87d0948738f 100644
--- a/tests/functional/lib/models/resources/LocationTest.php
+++ b/tests/functional/lib/models/resources/LocationTest.php
@@ -49,7 +49,7 @@ class LocationTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'autor'], false)
+            \User::findByUsername('root@studip')
         );
 
         //As a final step we create the SORM objects for our test cases:
diff --git a/tests/functional/lib/models/resources/ResourceAssignmentTest.php b/tests/functional/lib/models/resources/ResourceAssignmentTest.php
index 78b71f87f159bc3fb0aa9ac37922eaad99279d5e..f1a6a6ce816f68049d769265b7048524f301b852 100644
--- a/tests/functional/lib/models/resources/ResourceAssignmentTest.php
+++ b/tests/functional/lib/models/resources/ResourceAssignmentTest.php
@@ -47,7 +47,7 @@ class ResourceAssignmentTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'root'], false)
+            \User::findByUsername('root@studip')
         );
         $this->oldPerm = $GLOBALS['perm'];
         $GLOBALS['perm'] = new \Seminar_Perm();
diff --git a/tests/functional/lib/models/resources/ResourceCategoryTest.php b/tests/functional/lib/models/resources/ResourceCategoryTest.php
index 1042508bf4616ea398b3ab532f242f027d1536e5..59e97c6114c7c8c1d422ca90ce1ba97fd4afaa65 100644
--- a/tests/functional/lib/models/resources/ResourceCategoryTest.php
+++ b/tests/functional/lib/models/resources/ResourceCategoryTest.php
@@ -159,7 +159,7 @@ class ResourceCategoryTest extends \Codeception\Test\Unit
 
         $def = new ResourcePropertyDefinition();
         $def->name = 'test';
-        $def->type = 'unknown';
+        $def->type = 'bool';
         $def->store();
 
         $prop = $resource_cat->addProperty(
diff --git a/tests/functional/lib/models/resources/ResourceTest.php b/tests/functional/lib/models/resources/ResourceTest.php
index 24b8b56e4e0e1a0ca98a63d9d889b2fdeb3b1331..86c46f97b9116c72cd25184a7cd4015509794471 100644
--- a/tests/functional/lib/models/resources/ResourceTest.php
+++ b/tests/functional/lib/models/resources/ResourceTest.php
@@ -28,7 +28,7 @@ class ResourceTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'root'], false)
+            \User::findByUsername('root@studip')
         );
         $this->oldPerm = $GLOBALS['perm'];
         $GLOBALS['perm'] = new \Seminar_Perm();
diff --git a/tests/functional/lib/models/resources/RoomTest.php b/tests/functional/lib/models/resources/RoomTest.php
index 1d689cacec243413da66fe519d31c4f0c0656e10..baf65737c9b00906db4609e21346c0e4315a4294 100644
--- a/tests/functional/lib/models/resources/RoomTest.php
+++ b/tests/functional/lib/models/resources/RoomTest.php
@@ -49,7 +49,7 @@ class RoomTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'root'], false)
+            \User::findByUsername('root@studip')
         );
         $this->oldPerm = $GLOBALS['perm'];
         $GLOBALS['perm'] = new \Seminar_Perm();
diff --git a/tests/functional/lib/resources/ResourceManagerTest.php b/tests/functional/lib/resources/ResourceManagerTest.php
index 8eb309ca876e3ca42f35239a246efe3b403fa718..5b65c3b774c1b205186b29bbe2e8de52f1544f5a 100644
--- a/tests/functional/lib/resources/ResourceManagerTest.php
+++ b/tests/functional/lib/resources/ResourceManagerTest.php
@@ -29,7 +29,7 @@ class ResourceManagerTest extends \Codeception\Test\Unit
         // Workaround old-style Stud.IP-API using $GLOBALS['user']
         $this->oldUser = $GLOBALS['user'];
         $GLOBALS['user'] = new \Seminar_User(
-            \User::build(['user_id' => 'cli', 'username' => 'cli', 'perms' => 'autor'], false)
+            \User::findByUsername('root@studip')
         );
 
         //As a final step we create the SORM objects for our test cases:
@@ -299,139 +299,31 @@ class ResourceManagerTest extends \Codeception\Test\Unit
         );
     }
 
-    public function testEmptyPositionState()
+    /**
+     * @dataProvider coordinateProvider
+     */
+    public function testCoordinatesValidation($coordinates)
     {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->getId();
-        $position->property_id = $this->position_def->id;
-        $position->state = '';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testBadLatitudePositionState1()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->getId();
-        $position->property_id = $this->position_def->id;
-        $position->state = '14.29302-31.28323-5.292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
+        $this->assertFalse(ResourceManager::validateCoordinates($coordinates));
     }
 
-    public function testBadLatitudePositionState2()
+    public static function coordinateProvider(): array
     {
-        $this->expectException(ResourcePropertyStateException::class);
 
-        $position = new ResourceProperty();
-        $position->getId();
-        $position->property_id = $this->position_def->id;
-        $position->state = '+14-31.28323-5.292CRSWGS_84/';
+        return [
+            'empty' => [''],
 
-        ResourceManager::getPositionArray($position);
-    }
+            'bad-latitude-1' => ['14.29302-31.28323-5.292CRSWGS_84/'],
+            'bad-latitude-2' => ['+14-31.28323-5.292CRSWGS_84/'],
+            'missing-latitude' => ['-31.28323-5.292CRSWGS_84/'],
 
-    public function testMissingLatitudePositionState()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
+            'bad-longitude-1' => ['-14.29302-31-5.292CRSWGS_84/'],
+            'bad-longitude-2' => ['-14.29302-+31.28323-5.292CRSWGS_84/'],
 
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-31.28323-5.292CRSWGS_84/';
+            'missing-altitude' => ['-14.29302-31.28323CRSWGS_84/'],
 
-        ResourceManager::getPositionArray($position);
+            'bad-suffix' => ['-14.29302-31.28323-5.292CRSWGS_84'],
+            'missing-suffix' => ['-14.29302-31.28323-5.292'],
+        ];
     }
-
-    public function testBadLongitudePositionState1()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31-5.292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testBadLongitudePositionState2()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-+31.28323-5.292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testMissingLongitudePositionState()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302--5.292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testBadAltitudePositionState1()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31.28323-+5.292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testBadAltitudePositionState2()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31.28323+5292CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testMissingAltitudePositionState()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31.28323CRSWGS_84/';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testBadSuffixPositionState()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31.28323-5.292CRSWGS_84';
-
-        ResourceManager::getPositionArray($position);
-    }
-
-    public function testMissingSuffixPositionState()
-    {
-        $this->expectException(ResourcePropertyStateException::class);
-
-        $position = new ResourceProperty();
-        $position->property_id = $this->position_def->id;
-        $position->state = '-14.29302-31.28323-5.292';
-
-        ResourceManager::getPositionArray($position);
-    }
-
 }