$this->aclFormatter = $aclFormatter;
}
- /**
- * replaces the PUBLIC id for the public permissionSet
- * (no need to create the default permission set over and over again)
- *
- * @param $condition
- */
- private function checkPublicSelect(&$condition)
- {
- if (empty($condition['allow_cid']) &&
- empty($condition['allow_gid']) &&
- empty($condition['deny_cid']) &&
- empty($condition['deny_gid'])) {
- $condition['uid'] = self::PUBLIC;
- }
- }
-
/**
* @param array $condition
* @param array $params
use Friendica\Database\Database;
use Friendica\Security\PermissionSet\Collection\PermissionSets;
+use Friendica\Security\PermissionSet\Exception\PermissionSetNotFoundException;
use Friendica\Security\PermissionSet\Repository\PermissionSet as PermissionSetRepository;
use Friendica\Security\PermissionSet\Entity\PermissionSet;
use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFactory;
/** @var Database $db */
$db = $this->dice->create(Database::class);
-
foreach ($inputPermissionSets as $inputPermissionSet) {
$db->insert('permissionset', $inputPermissionSet);
}
self::assertEqualPermissionSets($assertion['output'], $permissionSets);
}
}
+
+ public function testSelectOneByIdInvalid()
+ {
+ self::expectException(PermissionSetNotFoundException::class);
+ self::expectExceptionMessage('PermissionSet with id -1 for user 42 doesn\'t exist.');
+
+ $this->repository->selectOneById(-1, 42);
+ }
+
+ /**
+ * @dataProvider dataSet
+ */
+ public function testSelectOneById(array $inputPermissionSets, array $assertions)
+ {
+ /** @var Database $db */
+ $db = $this->dice->create(Database::class);
+
+ foreach ($inputPermissionSets as $inputPermissionSet) {
+ $db->insert('permissionset', $inputPermissionSet);
+ $id = $db->lastInsertId();
+
+ self::assertInstanceOf(PermissionSet::class, $this->repository->selectOneById($id, $inputPermissionSet['uid']));
+ }
+ }
}