Files
breadcrumb-the-shire/tests/Service/Access/AccessServicesFactoryTest.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());
}
}