From c3fc1cb7ec91783a7953486c8a83aa8008dd5406 Mon Sep 17 00:00:00 2001 From: Jozef Selesi Date: Thu, 20 Nov 2008 01:25:29 +0000 Subject: * Added HTTP status constants and helper functions to REST helper. * HTTP header setting in comment module now going through REST helper API. * Fixed items controller test. * Fixed user installer test. * Fixed _create() handling in the REST controller. * Fixed routing for edit and add forms. * Added some tests for the REST controller. * Set svn:eol-style to LF on a bunch of files. * Added preamble to MY_Forge.php. --- core/tests/REST_Controller_Test.php | 128 ++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 core/tests/REST_Controller_Test.php (limited to 'core/tests/REST_Controller_Test.php') diff --git a/core/tests/REST_Controller_Test.php b/core/tests/REST_Controller_Test.php new file mode 100644 index 00000000..5478aa70 --- /dev/null +++ b/core/tests/REST_Controller_Test.php @@ -0,0 +1,128 @@ +__call("index", ""); + $this->assert_equal("index", $mock_controller->method_called); + + /* show() */ + $_SERVER["REQUEST_METHOD"] = "GET"; + $_POST["_method"] = ""; + $mock_controller->__call("3", ""); + $this->assert_equal("show", $mock_controller->method_called); + $this->assert_equal("Mock_Model", get_class($mock_controller->resource)); + + /* update() */ + $_SERVER["REQUEST_METHOD"] = "POST"; + $_POST["_method"] = "PUT"; + $mock_controller->__call("3", ""); + $this->assert_equal("update", $mock_controller->method_called); + $this->assert_equal("Mock_Model", get_class($mock_controller->resource)); + + /* delete */ + $_SERVER["REQUEST_METHOD"] = "POST"; + $_POST["_method"] = "DELETE"; + $mock_controller->__call("3", ""); + $this->assert_equal("delete", $mock_controller->method_called); + $this->assert_equal("Mock_Model", get_class($mock_controller->resource)); + + /* create */ + $_SERVER["REQUEST_METHOD"] = "POST"; + $_POST["_method"] = ""; + $mock_not_loaded_controller->__call("", ""); + $this->assert_equal("create", $mock_not_loaded_controller->method_called); + $this->assert_equal( + "Mock_Not_Loaded_Model", get_class($mock_not_loaded_controller->resource)); + + /* form_add */ + $mock_controller->form_add("args"); + $this->assert_equal("form_add", $mock_controller->method_called); + $this->assert_equal("args", $mock_controller->resource); + + /* form_edit */ + $mock_controller->form_edit("1"); + $this->assert_equal("form_edit", $mock_controller->method_called); + $this->assert_equal("Mock_Model", get_class($mock_controller->resource)); + } + + public function routes_test() { + $this->assert_equal("mock/form_add/args", router::routed_uri("form/add/mock/args")); + $this->assert_equal("mock/form_edit/args", router::routed_uri("form/edit/mock/args")); + $this->assert_equal(null, router::routed_uri("rest/args")); + } +} + +class Mock_RESTful_Controller extends REST_Controller { + public $method_called; + public $resource; + + public function __construct($type) { + $this->resource_type = $type; + parent::__construct(); + } + + public function _index() { + $this->method_called = "index"; + } + + public function _create($resource) { + $this->method_called = "create"; + $this->resource = $resource; + } + + public function _show($resource) { + $this->method_called = "show"; + $this->resource = $resource; + } + + public function _update($resource) { + $this->method_called = "update"; + $this->resource = $resource; + } + + public function _delete($resource) { + $this->method_called = "delete"; + $this->resource = $resource; + } + + public function _form_add($args) { + $this->method_called = "form_add"; + $this->resource = $args; + } + + public function _form_edit($resource) { + $this->method_called = "form_edit"; + $this->resource = $resource; + } +} + +class Mock_Model { + public $loaded = true; +} + +class Mock_Not_Loaded_Model { + public $loaded = false; +} -- cgit v1.2.3