62 lines
3.5 KiB
PHP
62 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\Tests\Service\Access;
|
|
|
|
use MintyPHP\Repository\Access\PermissionRepository;
|
|
use MintyPHP\Repository\Access\RolePermissionRepository;
|
|
use MintyPHP\Repository\Access\UserRoleRepository;
|
|
use MintyPHP\Service\Access\AccessServicesFactory;
|
|
use MintyPHP\Service\Access\AuthorizationService;
|
|
use MintyPHP\Service\Access\DepartmentAuthorizationPolicy;
|
|
use MintyPHP\Service\Access\PermissionAuthorizationPolicy;
|
|
use MintyPHP\Service\Access\PermissionGateway;
|
|
use MintyPHP\Service\Access\RoleAuthorizationPolicy;
|
|
use MintyPHP\Service\Access\SettingsAuthorizationPolicy;
|
|
use MintyPHP\Service\Access\TenantAuthorizationPolicy;
|
|
use MintyPHP\Service\Access\UserAuthorizationPolicy;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class AccessServicesFactoryTest extends TestCase
|
|
{
|
|
public function testFactoryReturnsStableInstancesPerFactoryObject(): void
|
|
{
|
|
$factory = new AccessServicesFactory();
|
|
|
|
$this->assertInstanceOf(PermissionRepository::class, $factory->createPermissionRepository());
|
|
$this->assertSame($factory->createPermissionRepository(), $factory->createPermissionRepository());
|
|
|
|
$this->assertInstanceOf(RolePermissionRepository::class, $factory->createRolePermissionRepository());
|
|
$this->assertSame($factory->createRolePermissionRepository(), $factory->createRolePermissionRepository());
|
|
|
|
$this->assertInstanceOf(UserRoleRepository::class, $factory->createUserRoleRepository());
|
|
$this->assertSame($factory->createUserRoleRepository(), $factory->createUserRoleRepository());
|
|
|
|
$this->assertInstanceOf('MintyPHP\\Service\\Access\\PermissionService', $factory->createPermissionService());
|
|
$this->assertSame($factory->createPermissionService(), $factory->createPermissionService());
|
|
|
|
$this->assertInstanceOf(PermissionGateway::class, $factory->createPermissionGateway());
|
|
$this->assertSame($factory->createPermissionGateway(), $factory->createPermissionGateway());
|
|
|
|
$this->assertInstanceOf(UserAuthorizationPolicy::class, $factory->createUserAuthorizationPolicy());
|
|
$this->assertSame($factory->createUserAuthorizationPolicy(), $factory->createUserAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(RoleAuthorizationPolicy::class, $factory->createRoleAuthorizationPolicy());
|
|
$this->assertSame($factory->createRoleAuthorizationPolicy(), $factory->createRoleAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(PermissionAuthorizationPolicy::class, $factory->createPermissionAuthorizationPolicy());
|
|
$this->assertSame($factory->createPermissionAuthorizationPolicy(), $factory->createPermissionAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(SettingsAuthorizationPolicy::class, $factory->createSettingsAuthorizationPolicy());
|
|
$this->assertSame($factory->createSettingsAuthorizationPolicy(), $factory->createSettingsAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(TenantAuthorizationPolicy::class, $factory->createTenantAuthorizationPolicy());
|
|
$this->assertSame($factory->createTenantAuthorizationPolicy(), $factory->createTenantAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(DepartmentAuthorizationPolicy::class, $factory->createDepartmentAuthorizationPolicy());
|
|
$this->assertSame($factory->createDepartmentAuthorizationPolicy(), $factory->createDepartmentAuthorizationPolicy());
|
|
|
|
$this->assertInstanceOf(AuthorizationService::class, $factory->createAuthorizationService());
|
|
$this->assertSame($factory->createAuthorizationService(), $factory->createAuthorizationService());
|
|
}
|
|
}
|