]> git.mxchange.org Git - friendica.git/blobdiff - tests/DatabaseTest.php
[frio] Add friendica-tagsinput library based on bootstrap-tagsinput
[friendica.git] / tests / DatabaseTest.php
index 1783bc605377c3d2a3b998d09178b9f468e3a42d..4f0275493c8f659d28734c99052cd3145080ff2a 100644 (file)
@@ -5,6 +5,7 @@
 
 namespace Friendica\Test;
 
+use Friendica\Database\Database;
 use Friendica\Test\Util\Database\StaticDatabase;
 
 /**
@@ -30,4 +31,30 @@ abstract class DatabaseTest extends MockedTest
 
                parent::tearDown();
        }
+
+       /**
+        * Loads a given DB fixture for this DB test
+        *
+        * @param string   $fixture The path to the fixture
+        * @param Database $dba     The DB connection
+        *
+        * @throws \Exception
+        */
+       protected function loadFixture(string $fixture, Database $dba)
+       {
+               $this->assertFileExists($fixture);
+
+               $data = include $fixture;
+
+               foreach ($data as $tableName => $rows) {
+                       if (!is_array($rows)) {
+                               $dba->p('TRUNCATE TABLE `' . $tableName . '``');
+                               continue;
+                       }
+
+                       foreach ($rows as $row) {
+                               $dba->insert($tableName, $row);
+                       }
+               }
+       }
 }