diff --git a/packages/auth/src/Installer/AuthenticationInstaller.php b/packages/auth/src/Installer/AuthenticationInstaller.php index d80395421..29ec896e0 100644 --- a/packages/auth/src/Installer/AuthenticationInstaller.php +++ b/packages/auth/src/Installer/AuthenticationInstaller.php @@ -5,17 +5,16 @@ namespace Tempest\Auth\Installer; use Tempest\Console\Console; +use Tempest\Console\ConsoleCommand; use Tempest\Console\Input\ConsoleArgumentBag; use Tempest\Container\Container; use Tempest\Core\Installer; use Tempest\Core\PublishesFiles; use Tempest\Database\Migrations\MigrationManager; -use function Tempest\root_path; use function Tempest\src_path; -use function Tempest\Support\Namespace\to_fqcn; -if (class_exists(\Tempest\Console\ConsoleCommand::class)) { +if (class_exists(ConsoleCommand::class)) { final class AuthenticationInstaller implements Installer { use PublishesFiles; @@ -36,9 +35,7 @@ public function install(): void $this->publishImports(); if ($migration && $this->shouldMigrate()) { - $this->migrationManager->executeUp( - migration: $this->container->get(to_fqcn($migration, root: root_path())), - ); + $this->migrationManager->up(); } if ($this->shouldInstallOAuth()) { diff --git a/tests/Integration/Auth/Installer/AuthenticationInstallerTest.php b/tests/Integration/Auth/Installer/AuthenticationInstallerTest.php new file mode 100644 index 000000000..dae280110 --- /dev/null +++ b/tests/Integration/Auth/Installer/AuthenticationInstallerTest.php @@ -0,0 +1,40 @@ +installer + ->configure( + __DIR__ . '/install', + new Psr4Namespace('App\\', __DIR__ . '/install/App'), + ) + ->setRoot(__DIR__ . '/install') + ->put('.env.example', '') + ->put('.env', ''); + } + + protected function tearDown(): void + { + $this->installer->clean(); + + parent::tearDown(); + } + + #[Test] + public function install_oauth_provider_with_migrations(): void + { + $this->console + ->call('install auth --force --migrate') + ->input(0) + ->assertSuccess(); + } +}