friendica/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php

65 lines
1.9 KiB
PHP
Raw Normal View History

<?php
2021-10-21 23:18:08 +02:00
namespace Friendica\Test\src\Security\PermissionSet\Repository;
2021-10-21 23:18:08 +02:00
use Friendica\Security\PermissionSet\Repository\PermissionSet as PermissionSetRepository;
2021-10-18 20:50:53 +02:00
use Friendica\Security\PermissionSet\Entity\PermissionSet;
use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFactory;
2021-10-18 20:50:53 +02:00
use Friendica\Test\FixtureTest;
use Friendica\DI;
2021-10-18 20:50:53 +02:00
class PermissionSetTest extends FixtureTest
{
2021-10-21 23:18:08 +02:00
/** @var PermissionSetRepository */
private $repository;
/** @var PermissionSetFactory */
private $factory;
public function setUp(): void
{
parent::setUp();
2021-10-21 23:18:08 +02:00
$this->repository = DI::permissionSet();
2021-10-18 20:50:53 +02:00
$this->factory = DI::permissionSetFactory();
}
public function testSelectOneByIdPublic()
{
2021-10-21 23:18:08 +02:00
$permissionSet = $this->repository->selectPublicForUser(1);
2021-10-18 20:50:53 +02:00
$this->assertInstanceOf(PermissionSet::class, $permissionSet);
self::assertEmpty($permissionSet->allow_cid);
self::assertEmpty($permissionSet->allow_gid);
self::assertEmpty($permissionSet->deny_cid);
self::assertEmpty($permissionSet->deny_gid);
2021-10-21 23:18:08 +02:00
self::assertEmpty(PermissionSetRepository::PUBLIC, $permissionSet->id);
self::assertEquals(1, $permissionSet->uid);
}
/**
* Test create/update PermissionSets
*/
public function testSaving()
{
$permissionSet = $this->factory->createFromString(42, '', '<~>');
2021-10-21 23:18:08 +02:00
$permissionSet = $this->repository->selectOrCreate($permissionSet);
self::assertNotNull($permissionSet->id);
2021-10-21 23:18:08 +02:00
$permissionSetSelected = $this->repository->selectOneById($permissionSet->id, 42);
self::assertEquals($permissionSet, $permissionSetSelected);
$newPermissionSet = $permissionSet->withAllowedContacts(['1', '2']);
2021-10-21 23:18:08 +02:00
$savedPermissionSet = $this->repository->save($newPermissionSet);
self::assertNotNull($savedPermissionSet->id);
self::assertNull($newPermissionSet->id);
2021-10-21 23:18:08 +02:00
$permissionSetSavedSelected = $this->repository->selectOneById($savedPermissionSet->id, 42);
self::assertEquals($savedPermissionSet, $permissionSetSavedSelected);
}
}