Пример #1
0
 public function __call($ps_table, $pa_args)
 {
     $vo_service = new ItemService($this->request, $ps_table);
     $va_content = $vo_service->dispatch();
     if (intval($this->request->getParameter("pretty", pInteger)) > 0) {
         $this->view->setVar("pretty_print", true);
     }
     if ($vo_service->hasErrors()) {
         $this->view->setVar("errors", $vo_service->getErrors());
         $this->render("json_error.php");
     } else {
         $this->view->setVar("content", $va_content);
         $this->render("json.php");
     }
 }
Пример #2
0
    /**
     * This part of the service is basically a wrapper around BaseModel::get so we don't
     * need to test that extensively here. We "just" have to make sure the integration works.
     */
    public function testGetSpecificItemInfo()
    {
        global $_SERVER;
        // emulate client request
        $_SERVER["REQUEST_METHOD"] = "GET";
        $_SERVER["SCRIPT_NAME"] = "/service.php";
        $vo_response = new ResponseHTTP();
        $vo_request = new RequestHTTP($vo_response);
        $vs_request_body = <<<JSON
{
\t"bundles" : {
\t\t"ca_objects.access" : {
\t\t\t"convertCodesToDisplayText" : true
\t\t},
\t\t"ca_objects.preferred_labels.name" : {
\t\t\t"delimiter" : "; "
\t\t},
\t\t"ca_entities.entity_id" : {
\t\t\t"returnAsArray" : true
\t\t}
\t}
}
JSON;
        $vo_request->setParameter("id", 27, "GET");
        $vo_request->setRawPostData($vs_request_body);
        $vo_service = new ItemService($vo_request, "ca_objects");
        $va_return = $vo_service->dispatch();
        $this->assertFalse($vo_service->hasErrors());
        $this->assertEquals("Public", $va_return["ca_objects.access"]);
        $this->assertEquals("Astroland arcade, Surf Avenue", $va_return["ca_objects.preferred_labels.name"]);
        $this->assertEquals(array("4"), $va_return["ca_entities.entity_id"]);
    }