controller = $this->getMock('Controller', array('isAuthorized'), array(), '', false); $this->components = $this->getMock('ComponentCollection'); $this->components->expects($this->any()) ->method('getController') ->will($this->returnValue($this->controller)); $this->auth = new ControllerAuthorize($this->components); } /** * testControllerTypeError * * @expectedException PHPUnit_Framework_Error * @throws PHPUnit_Framework_Error * @return void */ public function testControllerTypeError() { try { $this->auth->controller(new StdClass()); } catch (Throwable $t) { throw new PHPUnit_Framework_Error($t); } } /** * testControllerErrorOnMissingMethod * * @expectedException CakeException * @return void */ public function testControllerErrorOnMissingMethod() { $this->auth->controller(new Controller()); } /** * test failure * * @return void */ public function testAuthorizeFailure() { $user = array(); $request = new CakeRequest('/posts/index', false); $this->assertFalse($this->auth->authorize($user, $request)); } /** * test isAuthorized working. * * @return void */ public function testAuthorizeSuccess() { $user = array('User' => array('username' => 'mark')); $request = new CakeRequest('/posts/index', false); $this->controller->expects($this->once()) ->method('isAuthorized') ->with($user) ->will($this->returnValue(true)); $this->assertTrue($this->auth->authorize($user, $request)); } }