Source of file NestedResourceRestControllerTest.php
Size: 1,693 Bytes - Last Modified: 2021-12-23T10:07:36+00:00
/var/www/docs.ssmods.com/process/src/tests/functional/NestedResourceRestControllerTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | <?php namespace Ntb\RestAPI; /** * @author Christian Blank <c.blank@notthatbad.net> */ class NestedResourceRestControllerTest extends RestTest { public function setUp() { parent::setUp(); \Config::inst()->update('Director', 'rules', [ 'v/1/RestTestRoute/$ID/Nested/$OtherID' => 'Ntb\RestAPI\NestedTestController', ]); } public function testControllerGET() { $id = 'Foo'; $result = $this->makeApiRequest("RestTestRoute/$id/Nested"); $this->assertTrue(array_key_exists('message', $result)); $this->assertEquals('Test GET', $result['message']); $this->assertEquals($id, $result['resource']['id']); } public function testNotProvidedID() { $this->makeApiRequest("RestTestRoute//Nested", ['code' => 404]); } public function testControllerDELETE() { $id = 'Bar'; $result = $this->makeApiRequest("RestTestRoute/$id/Nested", ['method' => 'DELETE']); $this->assertTrue(array_key_exists('message', $result)); $this->assertEquals('Test DELETE', $result['message']); $this->assertEquals($id, $result['resource']['id']); } } class NestedTestController extends NestedResourceRestController implements \TestOnly { private static $allowed_actions = [ 'delete' => true, 'get' => true ]; public function get($request, $resource) { return ['message' => 'Test GET', 'resource' => $resource]; } public function delete($request, $resource) { return ['message' => 'Test DELETE', 'resource' => $resource]; } protected function getRootResource($id) { return ['id' => $id]; } } |