/** * test delete organizer of task (and then search task and retrieve single task) * */ public function testDeleteOrganizer() { $organizer = $this->_createUser(); $organizerId = $organizer->getId(); $task = $this->_getTask(); $task->organizer = $organizer; $returned = $this->_backend->saveTask($task->toArray()); $taskId = $returned['id']; // check search tasks- organizer exists $tasks = $this->_backend->searchTasks($this->_getFilter(), $this->_getPaging()); $this->assertEquals(1, $tasks['totalcount'], 'more (or less) than one tasks found'); $this->assertEquals($tasks['results'][0]['organizer']['accountId'], $organizerId); // check get single task - organizer exists $task = $this->_backend->getTask($taskId); $this->assertEquals($task['organizer']['accountId'], $organizerId); Tinebase_User::getInstance()->deleteUser($organizerId); // test seach search tasks - organizer is deleted $tasks = $this->_backend->searchTasks($this->_getFilter(), $this->_getPaging()); $this->assertEquals(1, $tasks['totalcount'], 'more (or less) than one tasks found'); $organizer = $tasks['results'][0]['organizer']; $this->assertTrue(is_array($organizer), 'organizer not resolved: ' . print_r($tasks['results'][0], TRUE)); $this->assertEquals($organizer['accountDisplayName'], Tinebase_User::getInstance()->getNonExistentUser()->accountDisplayName, 'accountDisplayName not found in organizer: ' . print_r($organizer, TRUE)); // test get single task - organizer is deleted $task = $this->_backend->getTask($taskId); $this->assertEquals($task['organizer']['accountDisplayName'], Tinebase_User::getInstance()->getNonExistentUser()->accountDisplayName); }
/** * testOtherRecordConstraintsConfig */ public function testOtherRecordConstraintsConfig() { $leadData1 = $this->_instance->saveLead($this->_getLead(FALSE, FALSE)->toArray()); $task = $this->_getTask(); $taskJson = new Tasks_Frontend_Json(); $leadJson = new Crm_Frontend_Json(); $taskData = $task->toArray(); $taskData['relations'] = array(array('type' => 'TASK', 'own_model' => 'Tasks_Model_Task', 'own_backend' => 'Sql', 'own_degree' => 'sibling', 'related_model' => 'Crm_Model_Lead', 'related_backend' => 'Sql', 'related_id' => $leadData1['id'], 'related_record' => $leadData1)); $taskData = $taskJson->saveTask($taskData); $leadData2 = $this->_instance->saveLead($this->_getLead(FALSE, FALSE)->toArray()); $leadData2['relations'] = array(array('type' => 'TASK', 'own_model' => 'Crm_Model_Lead', 'own_backend' => 'Sql', 'own_degree' => 'sibling', 'related_model' => 'Tasks_Model_Task', 'related_backend' => 'Sql', 'related_id' => $taskData['id'], 'related_record' => $taskData)); $this->setExpectedException('Tinebase_Exception_InvalidRelationConstraints'); $leadJson->saveLead($leadData2); }