Select Git revision
StudipMessageBox.vue
Forked from
Stud.IP / Stud.IP
Source project has a limited visibility.
-
Closes #2367 Merge request studip/studip!1551
Closes #2367 Merge request studip/studip!1551
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
MigrationTest.php 4.12 KiB
<?php
/**
* MigrationTest.php - unit tests for the migrations
*
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
*/
class MigrationTest extends \Codeception\Test\Unit
{
protected $migrator;
protected $before = null;
public function setUp(): void
{
$this->before = isset($GLOBALS['CACHING_ENABLE'])
? $GLOBALS['CACHING_ENABLE']
: null;
$GLOBALS['CACHING_ENABLE'] = false;
require_once 'lib/classes/StudipCache.class.php';
require_once 'lib/classes/StudipMemoryCache.class.php';
require_once 'lib/classes/StudipCacheFactory.class.php';
require_once 'lib/models/SimpleORMap.class.php';
require_once 'lib/migrations/Migration.php';
require_once 'lib/migrations/Migrator.php';
require_once 'lib/migrations/SchemaVersion.php';
}
public function tearDown(): void
{
if ($this->before !== null) {
$GLOBALS['CACHING_ENABLE'] = $this->before;
} else {
unset($GLOBALS['CACHING_ENABLE']);
}
}
private function getSchemaVersion()
{
return new class() implements SchemaVersion
{
private $versions = [];
public function get()
{
return count($this->versions) > 0 ? max($this->versions) : 0;
}
public function contains($version)
{
return in_array($version, $this->versions);
}
public function add($version)
{
if (!$this->contains($version)) {
$this->versions[] = $version;
}
}
public function remove($version)
{
if ($this->contains($version)) {
$this->versions = array_diff($this->versions, [$version]);
}
}
};
}