| @@ 10-48 (lines=39) @@ | ||
| 7 | use eZ\Publish\Core\REST\Server\Input\Parser\Limitation\PathStringRouteBasedLimitationParser; |
|
| 8 | use eZ\Publish\Core\REST\Server\Tests\Input\Parser\BaseTest; |
|
| 9 | ||
| 10 | class PathStringRouteBasedLimitationParserTest extends BaseTest |
|
| 11 | { |
|
| 12 | public function testParse() |
|
| 13 | { |
|
| 14 | $inputArray = [ |
|
| 15 | '_identifier' => 'Subtree', |
|
| 16 | 'values' => [ |
|
| 17 | 'ref' => [ |
|
| 18 | ['_href' => '/content/locations/1/2/3/4'], |
|
| 19 | ], |
|
| 20 | ], |
|
| 21 | ]; |
|
| 22 | ||
| 23 | $result = $this->getParser()->parse($inputArray, $this->getParsingDispatcherMock()); |
|
| 24 | ||
| 25 | self::assertInstanceOf('stdClass', $result); |
|
| 26 | self::assertObjectHasAttribute('limitationValues', $result); |
|
| 27 | self::assertArrayHasKey(0, $result->limitationValues); |
|
| 28 | self::assertEquals('/1/2/3/4', $result->limitationValues[0]); |
|
| 29 | } |
|
| 30 | ||
| 31 | /** |
|
| 32 | * Must return the tested parser object. |
|
| 33 | * @return \eZ\Publish\Core\REST\Server\Input\Parser\Limitation\RouteBasedLimitationParser |
|
| 34 | */ |
|
| 35 | protected function internalGetParser() |
|
| 36 | { |
|
| 37 | return new PathStringRouteBasedLimitationParser('pathString', 'stdClass'); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function getParseHrefExpectationsMap() |
|
| 41 | { |
|
| 42 | return array( |
|
| 43 | array('/content/locations/1/2/3/4', 'pathString', '1/2/3/4'), |
|
| 44 | ); |
|
| 45 | } |
|
| 46 | } |
|
| 47 | ||
| @@ 10-48 (lines=39) @@ | ||
| 7 | use eZ\Publish\Core\REST\Server\Input\Parser\Limitation\RouteBasedLimitationParser; |
|
| 8 | use eZ\Publish\Core\REST\Server\Tests\Input\Parser\BaseTest; |
|
| 9 | ||
| 10 | class RouteBasedLimitationParserTest extends BaseTest |
|
| 11 | { |
|
| 12 | public function testParse() |
|
| 13 | { |
|
| 14 | $inputArray = [ |
|
| 15 | '_identifier' => 'Section', |
|
| 16 | 'values' => [ |
|
| 17 | 'ref' => [ |
|
| 18 | ['_href' => '/content/sections/42'], |
|
| 19 | ], |
|
| 20 | ], |
|
| 21 | ]; |
|
| 22 | ||
| 23 | $result = $this->getParser()->parse($inputArray, $this->getParsingDispatcherMock()); |
|
| 24 | ||
| 25 | self::assertInstanceOf('stdClass', $result); |
|
| 26 | self::assertObjectHasAttribute('limitationValues', $result); |
|
| 27 | self::assertArrayHasKey(0, $result->limitationValues); |
|
| 28 | self::assertEquals(42, $result->limitationValues[0]); |
|
| 29 | } |
|
| 30 | ||
| 31 | /** |
|
| 32 | * Must return the tested parser object. |
|
| 33 | * @return \eZ\Publish\Core\REST\Server\Input\Parser\Limitation\RouteBasedLimitationParser |
|
| 34 | */ |
|
| 35 | protected function internalGetParser() |
|
| 36 | { |
|
| 37 | return new RouteBasedLimitationParser('sectionId', 'stdClass'); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function getParseHrefExpectationsMap() |
|
| 41 | { |
|
| 42 | return array( |
|
| 43 | array('/content/sections/42', 'sectionId', 42), |
|
| 44 | ); |
|
| 45 | } |
|
| 46 | } |
|
| 47 | ||