/** * Default to loginRedirect, if set, on authError. * * @return void * @triggers Controller.startup $Controller */ public function testDefaultToLoginRedirect() { $url = '/party/on'; $this->Auth->request = $request = new Request($url); $request->env('HTTP_REFERER', false); $request->addParams(Router::parse($url)); $request->addPaths(['base' => 'dirname', 'webroot' => '/dirname/']); Router::pushRequest($request); $this->Auth->config('authorize', ['Controller']); $this->Auth->setUser(['username' => 'mariano', 'password' => 'cake']); $this->Auth->config('loginRedirect', ['controller' => 'something', 'action' => 'else']); $response = new Response(); $Controller = $this->getMock('Cake\\Controller\\Controller', ['on', 'redirect'], [$request, $response]); $event = new Event('Controller.startup', $Controller); // Should not contain basedir when redirect is called. $expected = '/something/else'; $Controller->expects($this->once())->method('redirect')->with($this->equalTo($expected)); $this->Auth->startup($event); }
/** * Test splicing in paths. * * @return void */ public function testAddPaths() { $request = new Request(); $request->webroot = '/some/path/going/here/'; $result = $request->addPaths(['random' => '/something', 'webroot' => '/', 'here' => '/', 'base' => '/base_dir']); $this->assertSame($result, $request, 'Method did not return itself. %s'); $this->assertEquals('/', $request->webroot); $this->assertEquals('/base_dir', $request->base); $this->assertEquals('/', $request->here); $this->assertFalse(isset($request->random)); }