first commit
This commit is contained in:
45
tests/Architecture/ApplicationServiceDoctrineTest.php
Normal file
45
tests/Architecture/ApplicationServiceDoctrineTest.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Architecture;
|
||||
|
||||
use Tests\Architecture\Support\ArchitectureTestCase;
|
||||
|
||||
final class ApplicationServiceDoctrineTest extends ArchitectureTestCase
|
||||
{
|
||||
public function testAuthApplicationServiceKeepsSensitiveAuthenticationLogicInUseCases(): void
|
||||
{
|
||||
$file = $this->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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user