Files
breadcrumb-the-shire/tests/Unit/Module/BookmarksAuthorizationPolicyTest.php
2026-03-19 20:22:10 +01:00

39 lines
1.1 KiB
PHP

<?php
namespace MintyPHP\Tests\Unit\Module;
use MintyPHP\Module\Bookmarks\BookmarksAuthorizationPolicy;
use PHPUnit\Framework\TestCase;
final class BookmarksAuthorizationPolicyTest extends TestCase
{
public function testSupportsBookmarksAbilityOnly(): void
{
$policy = new BookmarksAuthorizationPolicy();
self::assertTrue($policy->supports(BookmarksAuthorizationPolicy::ABILITY_USE));
self::assertFalse($policy->supports('addressbook.view'));
}
public function testAuthorizeAllowsAuthenticatedActors(): void
{
$policy = new BookmarksAuthorizationPolicy();
$decision = $policy->authorize(BookmarksAuthorizationPolicy::ABILITY_USE, [
'actor_user_id' => 7,
]);
self::assertTrue($decision->isAllowed());
}
public function testAuthorizeDeniesMissingActor(): void
{
$policy = new BookmarksAuthorizationPolicy();
$decision = $policy->authorize(BookmarksAuthorizationPolicy::ABILITY_USE, []);
self::assertFalse($decision->isAllowed());
self::assertSame(403, $decision->status());
}
}