public function testEditDefinition() { $uuid = rand(0, count($this->_guids) - 1); $nsdrParams = array('uuid' => $uuid, 'namespace' => 'com.clearhealth.person.age', 'aliasFor' => 'com.clearhealth.person.dateOfBirth'); $methodParams = array('aggregateDisplay' => 'return "aggregate display";', 'populate' => 'return "populate";', 'persist' => ''); $objNSDR = new NSDRDefinition(); $methods = array(); // cannot add method if alias exists (alias must be canonical) if (strlen($nsdrParams['aliasFor']) == 0) { foreach ($methodParams as $index => $value) { $tmpArray = array(); $tmpArray['uuid'] = $uuid; $tmpArray['methodName'] = $index; $tmpArray['method'] = $value; $methods[] = $tmpArray; } } // persist methods $objNSDR->persistMethods($methods); $objNSDR->populateWithArray($nsdrParams); // workaround for Unknown column 'methodName'/'method' in 'field list' $objNSDR->methodName = array(); $objNSDR->method = array(); $objNSDR->persist(); $nsdrDefinition = new NSDRDefinition(); $nsdrDefinition->uuid = $uuid; $nsdrDefinition->populate(); $this->assertTrue(strlen($nsdrDefinition->namespace) > 0); }