Bristol SU Support Package
HandlesAuthorization.php
Go to the documentation of this file.
1 <?php
2 
4 
9 
14 {
15 
19  protected $permissionTester;
20 
26  protected function getPermissionTester()
27  {
28  if(!$this->permissionTester) {
29  $this->permissionTester = $this->prophesize(PermissionTester::class);
30  }
31  return $this->permissionTester;
32  }
33 
41  public function bypassAuthorization()
42  {
43  $this->getPermissionTester()->evaluate(Argument::any())->willReturn(true);
44  $this->instance(PermissionTester::class, $this->getPermissionTester()->reveal());
45  }
46 
54  public function givePermissionTo(string $ability)
55  {
56  $this->getPermissionTester()->evaluate($ability)->willReturn(true);
57  $this->instance(PermissionTester::class, $this->getPermissionTester()->reveal());
58  }
59 
67  public function revokePermissionTo(string $ability)
68  {
69  $this->getPermissionTester()->evaluate($ability)->willReturn(false);
70  $this->instance(PermissionTester::class, $this->getPermissionTester()->reveal());
71  }
72 
73 }