Update ResponseBuilder tests. Fix name of ResponseTest
This commit is contained in:
parent
1222e61ebb
commit
4d31e2e977
|
|
@ -5,7 +5,7 @@ namespace pjdietz\WellRESTed\Test;
|
||||||
use Faker\Factory;
|
use Faker\Factory;
|
||||||
use pjdietz\WellRESTed\Response;
|
use pjdietz\WellRESTed\Response;
|
||||||
|
|
||||||
class ResponseBuilderTest extends \PHPUnit_Framework_TestCase
|
class ResponseTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @dataProvider statusCodeProvider
|
* @dataProvider statusCodeProvider
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ class RouteBuilderTest extends \PHPUnit_Framework_TestCase
|
||||||
/*
|
/*
|
||||||
* Parse JSON and get the correct number of routes.
|
* Parse JSON and get the correct number of routes.
|
||||||
*/
|
*/
|
||||||
public function testBuildValidJson()
|
public function testBuildRoutesFromJson()
|
||||||
{
|
{
|
||||||
$json = <<<'JSON'
|
$json = <<<'JSON'
|
||||||
{
|
{
|
||||||
|
|
@ -44,14 +44,14 @@ JSON;
|
||||||
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
||||||
* @expectedExceptionMessage Unable to parse as JSON.
|
* @expectedExceptionMessage Unable to parse as JSON.
|
||||||
*/
|
*/
|
||||||
public function testBuildInvalidJson()
|
public function testFailBuildingRoutesFromInvalidJson()
|
||||||
{
|
{
|
||||||
$json = "jadhjaksd";
|
$json = "jadhjaksd";
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$routes = $builder->buildRoutes($json);
|
$builder->buildRoutes($json);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testNamesapce()
|
public function testSetNamesapce()
|
||||||
{
|
{
|
||||||
$namespace = "\\test\\Namespace";
|
$namespace = "\\test\\Namespace";
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
|
|
@ -62,7 +62,7 @@ JSON;
|
||||||
/**
|
/**
|
||||||
* @dataProvider varProvider
|
* @dataProvider varProvider
|
||||||
*/
|
*/
|
||||||
public function testDefaultVariablePattern($name, $pattern, $expected)
|
public function testSetDefaultVariablePatternThroughAccessor($name, $pattern, $expected)
|
||||||
{
|
{
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$builder->setDefaultVariablePattern($pattern);
|
$builder->setDefaultVariablePattern($pattern);
|
||||||
|
|
@ -72,7 +72,7 @@ JSON;
|
||||||
/**
|
/**
|
||||||
* @dataProvider varProvider
|
* @dataProvider varProvider
|
||||||
*/
|
*/
|
||||||
public function testConfigurationDefaultVariablePattern($name, $pattern, $expected)
|
public function testSetDefaultVariablePatternThroughConfiguration($name, $pattern, $expected)
|
||||||
{
|
{
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$conf = new stdClass();
|
$conf = new stdClass();
|
||||||
|
|
@ -84,7 +84,7 @@ JSON;
|
||||||
/**
|
/**
|
||||||
* @dataProvider varProvider
|
* @dataProvider varProvider
|
||||||
*/
|
*/
|
||||||
public function testTemplateVariables($name, $pattern, $expected)
|
public function testSetTemplateVariablesThroughAccessor($name, $pattern, $expected)
|
||||||
{
|
{
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$builder->setTemplateVars(array($name => $pattern));
|
$builder->setTemplateVars(array($name => $pattern));
|
||||||
|
|
@ -95,40 +95,40 @@ JSON;
|
||||||
/**
|
/**
|
||||||
* @dataProvider varProvider
|
* @dataProvider varProvider
|
||||||
*/
|
*/
|
||||||
public function testConfigurationTemplateVariables($name, $pattern, $expected)
|
public function testSetTemplateVariablesThroughConfiguration($name, $pattern, $expected)
|
||||||
{
|
{
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$conf = new stdClass();
|
$conf = new stdClass();
|
||||||
$conf->vars = array($name => $pattern);
|
$conf->vars = [$name => $pattern];
|
||||||
$builder->readConfiguration($conf);
|
$builder->readConfiguration($conf);
|
||||||
$vars = $builder->getTemplateVars();
|
$vars = $builder->getTemplateVars();
|
||||||
$this->assertEquals($vars[$name], $expected);
|
$this->assertEquals($vars[$name], $expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function varProvider()
|
public function varProvider()
|
||||||
{
|
{
|
||||||
return array(
|
return [
|
||||||
array("slug", "SLUG", TemplateRoute::RE_SLUG),
|
["slug", "SLUG", TemplateRoute::RE_SLUG],
|
||||||
array("name", "ALPHA", TemplateRoute::RE_ALPHA),
|
["name", "ALPHA", TemplateRoute::RE_ALPHA],
|
||||||
array("name", "ALPHANUM", TemplateRoute::RE_ALPHANUM),
|
["name", "ALPHANUM", TemplateRoute::RE_ALPHANUM],
|
||||||
array("id", "DIGIT", TemplateRoute::RE_NUM),
|
["id", "DIGIT", TemplateRoute::RE_NUM],
|
||||||
array("id", "NUM", TemplateRoute::RE_NUM),
|
["id", "NUM", TemplateRoute::RE_NUM],
|
||||||
array("custom", ".*", ".*")
|
["custom", ".*", ".*"]
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider routeDescriptionProvider
|
* @dataProvider routeDescriptionProvider
|
||||||
*/
|
*/
|
||||||
public function testRoutes($key, $value, $expectedClass)
|
public function testBuildRoutesFromRoutesArray($key, $value, $expectedClass)
|
||||||
{
|
{
|
||||||
$mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
$mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
||||||
$routes = array(
|
$routes = [
|
||||||
(object) array(
|
(object) [
|
||||||
$key => $value,
|
$key => $value,
|
||||||
"handler" => get_class($mock)
|
"handler" => get_class($mockHander)
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$routes = $builder->buildRoutes($routes);
|
$routes = $builder->buildRoutes($routes);
|
||||||
$route = $routes[0];
|
$route = $routes[0];
|
||||||
|
|
@ -138,17 +138,17 @@ JSON;
|
||||||
/**
|
/**
|
||||||
* @dataProvider routeDescriptionProvider
|
* @dataProvider routeDescriptionProvider
|
||||||
*/
|
*/
|
||||||
public function testRoutesObject($key, $value, $expectedClass)
|
public function testBuildRoutesFromConfigurationObject($key, $value, $expectedClass)
|
||||||
{
|
{
|
||||||
$mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
$mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
||||||
$conf = (object) array(
|
$conf = (object) [
|
||||||
"routes" => array(
|
"routes" => [
|
||||||
(object) array(
|
(object) [
|
||||||
$key => $value,
|
$key => $value,
|
||||||
"handler" => get_class($mock)
|
"handler" => get_class($mockHander)
|
||||||
)
|
]
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$routes = $builder->buildRoutes($conf);
|
$routes = $builder->buildRoutes($conf);
|
||||||
$route = $routes[0];
|
$route = $routes[0];
|
||||||
|
|
@ -157,27 +157,27 @@ JSON;
|
||||||
|
|
||||||
public function routeDescriptionProvider()
|
public function routeDescriptionProvider()
|
||||||
{
|
{
|
||||||
return array(
|
return [
|
||||||
array("path", "/", '\pjdietz\WellRESTed\Routes\StaticRoute'),
|
["path", "/", '\pjdietz\WellRESTed\Routes\StaticRoute'],
|
||||||
array("pattern", "/cat/[0-9]+", '\pjdietz\WellRESTed\Routes\RegexRoute'),
|
["pattern", "/cat/[0-9]+", '\pjdietz\WellRESTed\Routes\RegexRoute'],
|
||||||
array("template", "/cat/{id}", '\pjdietz\WellRESTed\Routes\TemplateRoute'),
|
["template", "/cat/{id}", '\pjdietz\WellRESTed\Routes\TemplateRoute'],
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testTemplateRouteWithVariables()
|
public function testBuildRoutesWithTemplateVariables()
|
||||||
{
|
{
|
||||||
$mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
$mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
|
||||||
$routes = array(
|
$routes = [
|
||||||
(object) array(
|
(object) [
|
||||||
"template" => "/cats/{catId}",
|
"template" => "/cats/{catId}",
|
||||||
"handler" => get_class($mock),
|
"handler" => get_class($mock),
|
||||||
"vars" => array(
|
"vars" => [
|
||||||
"catId" => "SLUG"
|
"catId" => "SLUG"
|
||||||
)
|
]
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$builder->setTemplateVars(array("dogId" => "NUM"));
|
$builder->setTemplateVars(["dogId" => "NUM"]);
|
||||||
$routes = $builder->buildRoutes($routes);
|
$routes = $builder->buildRoutes($routes);
|
||||||
$route = $routes[0];
|
$route = $routes[0];
|
||||||
$this->assertInstanceOf('\pjdietz\WellRESTed\Routes\TemplateRoute', $route);
|
$this->assertInstanceOf('\pjdietz\WellRESTed\Routes\TemplateRoute', $route);
|
||||||
|
|
@ -187,25 +187,25 @@ JSON;
|
||||||
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
||||||
* @expectedExceptionMessage Unable to parse. Missing array of routes.
|
* @expectedExceptionMessage Unable to parse. Missing array of routes.
|
||||||
*/
|
*/
|
||||||
public function testIvalidRoutesObject()
|
public function testFailOnConfigurationObjectMissingRoutesArray()
|
||||||
{
|
{
|
||||||
$conf = new stdClass();
|
$conf = new stdClass();
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$routes = $builder->buildRoutes($conf);
|
$builder->buildRoutes($conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
|
||||||
* @expectedExceptionMessage Unable to parse. Route is missing a handler.
|
* @expectedExceptionMessage Unable to parse. Route is missing a handler.
|
||||||
*/
|
*/
|
||||||
public function testInvalidRoute()
|
public function testFailOnRouteMissingHandler()
|
||||||
{
|
{
|
||||||
$routes = array(
|
$routes = [
|
||||||
(object) array(
|
(object) [
|
||||||
"path" => "/"
|
"path" => "/"
|
||||||
)
|
]
|
||||||
);
|
];
|
||||||
$builder = new RouteBuilder();
|
$builder = new RouteBuilder();
|
||||||
$routes = $builder->buildRoutes($routes);
|
$builder->buildRoutes($routes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue