Skip to content

Commit a2b1ce2

Browse files
committed
Add failing test
1 parent 71a461e commit a2b1ce2

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

tests/system/Database/Migrations/MigrationRunnerTest.php

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
namespace CodeIgniter\Database\Migrations;
1313

1414
use CodeIgniter\Database\BaseConnection;
15-
use CodeIgniter\Database\Config;
1615
use CodeIgniter\Database\MigrationRunner;
1716
use CodeIgniter\Events\Events;
1817
use CodeIgniter\Exceptions\ConfigException;
@@ -454,11 +453,34 @@ public function testGetBatchVersions(): void
454453
$this->assertSame('2018-01-24-102302', $runner->getBatchEnd(1));
455454
}
456455

457-
protected function resetTables(): void
456+
public function testMigrationUsesSameConnectionAsMigrationRunner(): void
458457
{
459-
$forge = Config::forge();
458+
$config = ['database' => WRITEPATH . 'runner.sqlite', 'DBDriver' => 'SQLite3', 'DBDebug' => true];
460459

461-
foreach (db_connect()->listTables() as $table) {
460+
$database = Database::connect($config, false);
461+
$this->resetTables($database);
462+
463+
$runner = new MigrationRunner(config(Migrations::class), $database);
464+
$runner->clearCliMessages();
465+
$runner->clearHistory();
466+
$runner->setNamespace('Tests\Support\MigrationTestMigrations');
467+
$runner->latest();
468+
469+
$tables = $database->listTables();
470+
$this->assertCount(2, $tables);
471+
$this->assertSame('migrations', $tables[0]);
472+
$this->assertSame('foo', $tables[1]);
473+
}
474+
475+
protected function resetTables($db = null): void
476+
{
477+
$forge = Database::forge($db);
478+
479+
/** @var BaseConnection $conn */
480+
$conn = $forge->getConnection();
481+
$conn->resetDataCache();
482+
483+
foreach (db_connect($db)->listTables() as $table) {
462484
$table = str_replace('db_', '', $table);
463485
$forge->dropTable($table, true);
464486
}

0 commit comments

Comments
 (0)