Flarum\Admin\Middleware\RequireAdministrateAbility::__invoke PHP Method

__invoke() public method

public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null )
$request Psr\Http\Message\ServerRequestInterface
$response Psr\Http\Message\ResponseInterface
$out callable
    public function __invoke(Request $request, Response $response, callable $out = null)
    {
        $this->assertAdmin($request->getAttribute('actor'));
        return $out ? $out($request, $response) : $response;
    }

Usage Example

 public function test_it_should_not_allow_invalid_logins()
 {
     $this->setExpectedException(PermissionDeniedException::class);
     $gate = m::mock(Gate::class);
     $request = m::mock(ServerRequestInterface::class)->shouldIgnoreMissing();
     $response = m::mock(ResponseInterface::class);
     $gate->shouldReceive('forUser->allows')->andReturn(false);
     $middleware = new RequireAdministrateAbility($gate);
     $middleware->__invoke($request, $response);
 }
RequireAdministrateAbility