88
99class AuthorizationTest extends TestCase
1010{
11- /**
12- * @var Authorization
13- */
14- protected $ object = null ;
15-
16- /**
17- * @var Document
18- */
19- protected $ document = null ;
20-
2111 public function setUp (): void
2212 {
23- $ this ->document = new Document ([
24- '$id ' => uniqid (),
25- '$collection ' => uniqid (),
26- '$read ' => ['user:123 ' , 'team:123 ' ],
27- '$write ' => ['role:all ' ],
28- ]);
29- $ this ->object = new Authorization ($ this ->document , 'read ' );
3013 }
3114
3215 public function tearDown (): void
@@ -35,10 +18,18 @@ public function tearDown(): void
3518
3619 public function testValues ()
3720 {
38- $ this ->assertEquals ($ this ->object ->isValid ($ this ->document ->getRead ()), false );
39- $ this ->assertEquals ($ this ->object ->isValid ('' ), false );
40- $ this ->assertEquals ($ this ->object ->isValid ([]), false );
41- $ this ->assertEquals ($ this ->object ->getDescription (), 'No permissions provided for action \'read \'' );
21+ $ document = new Document ([
22+ '$id ' => uniqid (),
23+ '$collection ' => uniqid (),
24+ '$read ' => ['user:123 ' , 'team:123 ' ],
25+ '$write ' => ['role:all ' ],
26+ ]);
27+ $ object = new Authorization ($ document , 'read ' );
28+
29+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), false );
30+ $ this ->assertEquals ($ object ->isValid ('' ), false );
31+ $ this ->assertEquals ($ object ->isValid ([]), false );
32+ $ this ->assertEquals ($ object ->getDescription (), 'No permissions provided for action \'read \'' );
4233
4334 Authorization::setRole ('user:456 ' );
4435 Authorization::setRole ('user:123 ' );
@@ -48,37 +39,37 @@ public function testValues()
4839 $ this ->assertEquals (Authorization::isRole ('' ), false );
4940 $ this ->assertEquals (Authorization::isRole ('role:all ' ), true );
5041
51- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), true );
42+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), true );
5243
5344 Authorization::cleanRoles ();
5445
55- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), false );
46+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), false );
5647
5748 Authorization::setRole ('team:123 ' );
5849
59- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), true );
50+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), true );
6051
6152 Authorization::cleanRoles ();
6253 Authorization::disable ();
6354
64- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), true );
55+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), true );
6556
6657 Authorization::reset ();
6758
68- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), false );
59+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), false );
6960
7061 Authorization::setDefaultStatus (false );
7162 Authorization::disable ();
7263
73- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), true );
64+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), true );
7465
7566 Authorization::reset ();
7667
77- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), true );
68+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), true );
7869
7970 Authorization::enable ();
8071
81- $ this ->assertEquals ($ this -> object ->isValid ($ this -> document ->getRead ()), false );
72+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), false );
8273
8374 Authorization::setRole ('textX ' );
8475
@@ -87,5 +78,9 @@ public function testValues()
8778 Authorization::unsetRole ('textX ' );
8879
8980 $ this ->assertNotContains ('textX ' , Authorization::getRoles ());
81+
82+ // Test skip method
83+ $ this ->assertEquals ($ object ->isValid ($ document ->getRead ()), false );
84+ $ this ->assertEquals (Authorization::skip (function () use ($ object , $ document ) {return $ object ->isValid ($ document ->getRead ());}), true );
9085 }
9186}
0 commit comments