controller = $this->getMock('Cake\Controller\Controller', ['isAuthorized'], [], '', false); $this->components = $this->getMock('Cake\Controller\ComponentRegistry'); $this->components->expects($this->any()) ->method('getController') ->will($this->returnValue($this->controller)); $this->auth = new ControllerAuthorize($this->components); } /** * @expectedException \Cake\Core\Exception\Exception * @return void */ public function testControllerErrorOnMissingMethod() { $this->auth->controller(new Controller()); } /** * test failure * * @return void */ public function testAuthorizeFailure() { $user = []; $request = new Request('/posts/index'); $this->assertFalse($this->auth->authorize($user, $request)); } /** * test isAuthorized working. * * @return void */ public function testAuthorizeSuccess() { $user = ['User' => ['username' => 'mark']]; $request = new Request('/posts/index'); $this->controller->expects($this->once()) ->method('isAuthorized') ->with($user) ->will($this->returnValue(true)); $this->assertTrue($this->auth->authorize($user, $request)); } }