Ejemplo n.º 1
0
 public function testFilterRoutesNeedPermission()
 {
     $router = m::mock('Router');
     $router->shouldReceive('filter')->once();
     $router->shouldReceive('when')->once();
     $app = array('router' => $router);
     $entrust = new Entrust($app);
     $entrust->routeNeedsPermission('admin', 'manage_users');
 }
Ejemplo n.º 2
0
 /**
  * Filters a route for the permission.
  * 
  * If the third parameter is null then return 403.
  * Overwise the $result is returned.
  *
  * @param string $route Route pattern. i.e: "admin/*"
  * @param array|string $permissions The permission needed.
  * @param mixed $result i.e: Redirect::to('/')
  * @param bool $cumulative Must have all permissions
  * @return mixed 
  * @static 
  */
 public static function routeNeedsPermission($route, $permissions, $result = null, $cumulative = true)
 {
     return \Zizaco\Entrust\Entrust::routeNeedsPermission($route, $permissions, $result, $cumulative);
 }
Ejemplo n.º 3
0
 /**
  * Filters a route for a permission or set of permissions.
  * 
  * If the third parameter is null then abort with status code 403.
  * Otherwise the $result is returned.
  *
  * @param string $route Route pattern. i.e: "admin/*"
  * @param array|string $permissions The permission(s) needed
  * @param mixed $result i.e: Redirect::to('/')
  * @param bool $requireAll User must have all permissions
  * @return mixed 
  * @static 
  */
 public static function routeNeedsPermission($route, $permissions, $result = null, $requireAll = true)
 {
     return \Zizaco\Entrust\Entrust::routeNeedsPermission($route, $permissions, $result, $requireAll);
 }
Ejemplo n.º 4
0
 public function testRouteNeedsPermission()
 {
     /*
     |------------------------------------------------------------
     | Set
     |------------------------------------------------------------
     */
     $app = new stdClass();
     $app->router = m::mock('Route');
     $entrust = new Entrust($app);
     $route = 'route';
     $onePerm = 'can_a';
     $manyPerm = ['can_a', 'can_b', 'can_c'];
     $onePermFilterName = $this->makeFilterName($route, [$onePerm]);
     $manyPermFilterName = $this->makeFilterName($route, $manyPerm);
     /*
     |------------------------------------------------------------
     | Expectation
     |------------------------------------------------------------
     */
     $app->router->shouldReceive('filter')->with(m::anyOf($onePermFilterName, $manyPermFilterName), m::type('Closure'))->twice()->ordered();
     $app->router->shouldReceive('when')->with($route, m::anyOf($onePermFilterName, $manyPermFilterName))->twice();
     /*
     |------------------------------------------------------------
     | Assertion
     |------------------------------------------------------------
     */
     $entrust->routeNeedsPermission($route, $onePerm);
     $entrust->routeNeedsPermission($route, $manyPerm);
 }