credentialsProvider( 'admin@example.com', 'secret-password', ), ); $command->setLaravel($this->consoleContainer()); $commandTester = new CommandTester($command); $statusCode = $commandTester->execute([]); $createdUser = $userRepository->findByEmail( new EmailAddress('admin@example.com') ); $this->assertSame(0, $statusCode); $this->assertNotNull($createdUser); $this->assertSame( 'hashed-secret-password', $createdUser->getPasswordHash(), ); $this->assertStringContainsString( 'initial admin is ready', $commandTester->getDisplay(), ); } private function credentialsProvider( string $email, string $password, ): InitialAdminCredentialsProvider { return new class ($email, $password) implements InitialAdminCredentialsProvider { public function __construct( private string $email, private string $password, ) { } public function getCredentials(): InitialAdminCredentials { return new InitialAdminCredentials( email: $this->email, password: $this->password, ); } }; } private function consoleContainer(): Container { return new class extends Container { public function runningUnitTests(): bool { return true; } }; } }