projectPath('src/Identity/Application/AuthApplicationService.php'); $code = $this->normalizedCode($file); self::assertStringContainsString('Netig\Netslim\\Identity\\Application\\UseCase\\AuthenticateUser', $code); self::assertStringContainsString('Netig\Netslim\\Identity\\Application\\UseCase\\ChangePassword', $code); self::assertStringNotContainsString('Netig\Netslim\\Identity\\Domain\\Repository\\UserRepositoryInterface', $code); self::assertStringNotContainsString('Netig\Netslim\\Identity\\Domain\\Policy\\PasswordPolicy', $code); } public function testPasswordResetApplicationServiceDelegatesWorkflowToUseCases(): void { $file = $this->projectPath('src/Identity/Application/PasswordResetApplicationService.php'); $code = $this->normalizedCode($file); self::assertStringContainsString('Netig\Netslim\\Identity\\Application\\UseCase\\RequestPasswordReset', $code); self::assertStringContainsString('Netig\Netslim\\Identity\\Application\\UseCase\\ValidatePasswordResetToken', $code); self::assertStringContainsString('Netig\Netslim\\Identity\\Application\\UseCase\\ResetPassword', $code); self::assertStringNotContainsString('Netig\Netslim\\Identity\\Domain\\Repository\\PasswordResetRepositoryInterface', $code); self::assertStringNotContainsString('Netig\Netslim\\Kernel\\Mail\\Application\\MailServiceInterface', $code); self::assertStringNotContainsString('Netig\Netslim\\Kernel\\Persistence\\Application\\TransactionManagerInterface', $code); } public function testMediaApplicationServiceDelegatesMutationsToUseCases(): void { $file = $this->projectPath('src/Media/Application/MediaApplicationService.php'); $code = $this->normalizedCode($file); self::assertStringContainsString('Netig\Netslim\\Media\\Application\\UseCase\\StoreMedia', $code); self::assertStringContainsString('Netig\Netslim\\Media\\Application\\UseCase\\DeleteMedia', $code); self::assertStringNotContainsString('Netig\Netslim\\Media\\Domain\\Service\\MediaStorageInterface', $code); self::assertStringNotContainsString('PDOException', $code); } }