first commit.

This commit is contained in:
kj
2026-10-05 15:08:39 -03:00
commit b7799f9fff
93 changed files with 8966 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
<?php
namespace Tests;
use Commands\Migration;
use Override;
use PHPUnit\Framework\TestCase as PHPunitTestCase;
abstract class TestCase extends PHPunitTestCase
{
private static Migration $db_migration;
#[Override]
public static function setUpBeforeClass(): void
{
// Garantiza que ningún test corra contra la base de datos real.
self::assertSame('sqlite', DB_TYPE, 'Tests must run on SQLite.');
self::assertSame(':memory:', DB_NAME, 'Tests must run on an in-memory database.');
static::$db_migration = new Migration(verbose: false);
static::$db_migration->ensureDatabaseExists();
// fresh() limpia el historial de migraciones y vuelve a aplicarlas: en
// modo aislado, el proceso padre también ejecuta este hook y deja el
// archivo de control poblado, por lo que migrate() se saltaría el
// esquema sobre la base :memory: vacía del hijo.
static::$db_migration->fresh();
}
#[Override]
public static function tearDownAfterClass(): void
{
// Ejecutar el rollback de las migraciones
static::$db_migration->rollback();
}
}