/** * @expectedException \Nette\InvalidStateException */ public function testOverrideMethodWithInvalidMethod() { $method = 'invalid'; $route = new RestRoute('Api'); $url = new UrlScript(); $url->setPath('/api/foo'); $url->setQuery(['__method' => $method]); $request = new Request($url, NULL, NULL, NULL, NULL, NULL, 'POST'); $appRequest = $route->match($request); }
/** * @dataProvider getActions */ public function testDefault($method, $path, $action, $id = null, $associations = null) { $route = new RestRoute(); $url = new UrlScript(); $url->setPath($path); $request = new Request($url, NULL, NULL, NULL, NULL, NULL, $method); $appRequest = $route->match($request); $this->assertEquals('Foo', $appRequest->getPresenterName()); $this->assertEquals($action, $appRequest->parameters['action']); if ($id) { $this->assertEquals($id, $appRequest->parameters['id']); } if ($associations) { $this->assertSame($associations, $appRequest->parameters['associations']); } }
/** * @dataProvider getVersions */ public function testModuleVersioning($module, $path, $expectedPresenterName, $expectedUrl) { $route = new RestRoute($module); $route->useURLModuleVersioning(RestRoute::MODULE_VERSION_PATH_PREFIX_PATTERN, [NULL => 'V1', 'v1' => 'V1', 'v2' => 'V2']); $url = new UrlScript(); $url->setPath($path); $request = new Request($url, NULL, NULL, NULL, NULL, NULL, 'GET'); $appRequest = $route->match($request); $this->assertEquals($expectedPresenterName, $appRequest->getPresenterName()); $refUrl = new Url('http://localhost'); $url = $route->constructUrl($appRequest, $refUrl); $this->assertEquals($expectedUrl, $url); }