Skip to content

Commit

Permalink
tests updated
Browse files Browse the repository at this point in the history
  • Loading branch information
s3b4stian committed Nov 23, 2023
1 parent 6d15e4f commit 285bf6a
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 142 deletions.
2 changes: 1 addition & 1 deletion src/Linna/Authorization/PermissionExtended.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
*/
class PermissionExtended extends Permission
{
use userTrait;
use UserTrait;
use RoleTrait;

/**
Expand Down
9 changes: 7 additions & 2 deletions tests/Linna/Authorization/AuthorizationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,16 @@ class AuthorizationTest extends TestCase
*/
public static function setUpBeforeClass(): void
{
$pdo = (new StorageFactory('pdo', PdoOptionsFactory::getOptions()))->get();

$session = new Session();
$password = new Password();
$authentication = new Authentication($session, $password);
// fix here
$permissionMapper = new PermissionExtendedMapper((new StorageFactory('pdo', PdoOptionsFactory::getOptions()))->get() /* other arguments */);

$userMapper = new UserMapper($pdo, $password);
$roleMapper = new RoleMapper($pdo);

$permissionMapper = new PermissionExtendedMapper($pdo, $roleMapper, $userMapper);

self::$password = $password;
self::$session = $session;
Expand Down
135 changes: 51 additions & 84 deletions tests/Linna/Authorization/RoleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,16 @@

namespace Linna\Authorization;

use Linna\Authentication\Password;
use Linna\Authentication\UserMapper;
use Linna\Storage\ExtendedPDO;
use Linna\Storage\StorageFactory;
use DateTimeImmutable;
use PHPUnit\Framework\TestCase;
use Linna\TestHelper\Pdo\PdoOptionsFactory;

/**
* Role Test.
*/
class RoleTest extends TestCase
{
/** @var PermissionMapper The permission mapper */
protected static PermissionMapper $permissionMapper;

/** @var EnhancedUserMapper The enhanced user mapper */
protected static EnhancedUserMapper $enhancedUserMapper;

/** @var RoleMapper The role mapper */
protected static RoleMapper $roleMapper;

/** @var ExtendedPDO Database connection. */
protected static ExtendedPDO $pdo;
/** @var Role The role instance */
protected static Role $role;

/**
* Set up before class.
Expand All @@ -40,62 +30,41 @@ class RoleTest extends TestCase
*/
public static function setUpBeforeClass(): void
{
/*$options = [
'dsn' => $GLOBALS['pdo_mysql_dsn'],
'user' => $GLOBALS['pdo_mysql_user'],
'password' => $GLOBALS['pdo_mysql_password'],
'options' => [
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT => false,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci',
],
];*/

$pdo = (new StorageFactory('pdo', PdoOptionsFactory::getOptions()))->get();

$password = new Password();

$permissionMapper = new PermissionMapper($pdo);
$userMapper = new UserMapper($pdo, $password);
$roleToUserMapper = new RoleToUserMapper($pdo, $password);
$enhancedUserMapper = new EnhancedUserMapper($pdo, $password, $permissionMapper, $roleToUserMapper);

self::$pdo = $pdo;
self::$roleMapper = new RoleMapper($pdo, $permissionMapper, $userMapper, $roleToUserMapper);
self::$permissionMapper = $permissionMapper;
self::$enhancedUserMapper = $enhancedUserMapper;
}

/**
* Tear down after class.
*
* @return void
*/
public static function tearDownAfterClass(): void
{
//self::$pdo = null;
//self::$roleMapper = null;
//self::$permissionMapper = null;
//self::$enhancedUserMapper = null;
self::$role = new Role(
name: 'test_role',
description: 'test_role_description',
active: 1,
created: new DateTimeImmutable(),
lastUpdate: new DateTimeImmutable()
);
}

/**
* Test new role instance.
*
* Test new role instance.
*
* @return void
*/
*/
public function testNewRoleInstance(): void
{
$this->assertInstanceOf(Role::class, self::$roleMapper->create());
$role = self::$role;

$this->assertInstanceOf(Role::class, $role);
$this->assertInstanceOf(DateTimeImmutable::class, $role->created);
$this->assertInstanceOf(DateTimeImmutable::class, $role->lastUpdate);

//id null because not saved into persistent storage
$this->assertSame(null, $role->id);
$this->assertSame('test_role', $role->name);
$this->assertSame('test_role_description', $role->description);
$this->assertSame(1, $role->active);
}

/**
* Test constructor type casting.
*
* @return void
*/
public function testConstructorTypeCasting(): void
/*public function testConstructorTypeCasting(): void
{
$role = self::$roleMapper->fetchById(1);
Expand All @@ -105,14 +74,14 @@ public function testConstructorTypeCasting(): void
$this->assertGreaterThan(0, $role->getId());
$this->assertGreaterThan(0, $role->id);
}
}*/

/**
* User Role data provider.
*
* @return array
*/
public static function userRoleProvider(): array
/*public static function userRoleProvider(): array
{
return [
[1, 1, true],
Expand Down Expand Up @@ -150,15 +119,15 @@ public static function userRoleProvider(): array
*
* @return void
*/
public function testIsUserInRole(int $roleId, int $userId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
//public function testIsUserInRole(int $roleId, int $userId, bool $result): void
//{
/** @var Role Role Class. */
// $role = self::$roleMapper->fetchById($roleId);

/** @var EnhancedUser Enhanced User Class. */
$user = self::$enhancedUserMapper->fetchById($userId);
$this->assertEquals($result, $role->isUserInRole($user));
}
/** @var EnhancedUser Enhanced User Class. */
// $user = self::$enhancedUserMapper->fetchById($userId);
// $this->assertEquals($result, $role->isUserInRole($user));
//}

/**
* Test is user in role by id.
Expand All @@ -171,9 +140,8 @@ public function testIsUserInRole(int $roleId, int $userId, bool $result): void
*
* @return void
*/
public function testIsUserInRoleById(int $roleId, int $userId, bool $result): void
/*public function testIsUserInRoleById(int $roleId, int $userId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
$this->assertEquals($result, $role->isUserInRoleById($userId));
Expand All @@ -190,12 +158,12 @@ public function testIsUserInRoleById(int $roleId, int $userId, bool $result): vo
*
* @return void
*/
public function testIsUserInRoleByName(int $roleId, int $userId, bool $result): void
/*public function testIsUserInRoleByName(int $roleId, int $userId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
/** @var EnhancedUser Enhanced User Class. */
$user = self::$enhancedUserMapper->fetchById($userId);
$this->assertEquals($result, $role->isUserInRoleByName($user->name));
}
Expand All @@ -206,7 +174,7 @@ public function testIsUserInRoleByName(int $roleId, int $userId, bool $result):
* @return array
* @return void
*/
public static function rolePermissionProvider(): array
/*public static function rolePermissionProvider(): array
{
return [
[1, 1, true],
Expand Down Expand Up @@ -241,12 +209,12 @@ public static function rolePermissionProvider(): array
*
* @return void
*/
public function testRoleCan(int $roleId, int $permissionId, bool $result): void
/*public function testRoleCan(int $roleId, int $permissionId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
/** @var Permission Permission Class. */
$permission = self::$permissionMapper->fetchById($permissionId);
$this->assertEquals($result, $role->can($permission));
}
Expand All @@ -262,9 +230,9 @@ public function testRoleCan(int $roleId, int $permissionId, bool $result): void
*
* @return void
*/
public function testRoleCanById(int $roleId, int $permissionId, bool $result): void
/*public function testRoleCanById(int $roleId, int $permissionId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
$this->assertEquals($result, $role->canById($permissionId));
Expand All @@ -281,13 +249,12 @@ public function testRoleCanById(int $roleId, int $permissionId, bool $result): v
*
* @return void
*/
public function testRoleCanByName(int $roleId, int $permissionId, bool $result): void
/*public function testRoleCanByName(int $roleId, int $permissionId, bool $result): void
{
/** @var Role Role Class. */
$role = self::$roleMapper->fetchById($roleId);
/** @var Permission Permission Class. */
$permission = self::$permissionMapper->fetchById($permissionId);
$this->assertEquals($result, $role->canByName($permission->name));
}
}*/
}
Loading

0 comments on commit 285bf6a

Please sign in to comment.