/** * Test civicrm_activity_processmail() */ function testActivityProcessEMail() { // Give contact 17 an email address $op = new PHPUnit_Extensions_Database_Operation_Insert(); $op->execute($this->_dbconn, new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/email_contact_17.xml')); $result = civicrm_activity_process_email(dirname(__FILE__) . '/dataset/activity_email', 5); // civicrm_activity should show the new activity $expected = new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/activity_1_emailed.xml'); $actual = new PHPUnit_Extensions_Database_DataSet_QueryDataset($this->_dbconn); $actual->addTable('civicrm_activity'); $expected->assertEquals($actual); // civicrm_activity_target should show the target of the new activity $expected = new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/activity_target_1_emailed.xml'); $actual = new PHPUnit_Extensions_Database_DataSet_QueryDataset($this->_dbconn); $actual->addTable('civicrm_activity_target'); $expected->assertEquals($actual); }
function process($file) { if ($this->_context == 'activity') { require_once 'api/v2/Activity.php'; $result = civicrm_activity_process_email($this->_mailDir . DIRECTORY_SEPARATOR . $file, EMAIL_ACTIVITY_TYPE_ID); } elseif ($this->_context == 'case') { require_once 'CRM/Case/BAO/Case.php'; $result = CRM_Case_BAO_Case::recordActivityViaEmail($this->_mailDir . DIRECTORY_SEPARATOR . $file); } else { echo "Context not supported/set.\n"; exit; } if ($result['is_error']) { rename($this->_mailDir . DIRECTORY_SEPARATOR . $file, $this->_errorDir . DIRECTORY_SEPARATOR . $file); echo "Failed Processing: {$file}. Reason: {$result['error_message']}\n"; return false; } else { rename($this->_mailDir . DIRECTORY_SEPARATOR . $file, $this->_processedDir . DIRECTORY_SEPARATOR . $file); echo "Processed: {$file}\n"; return true; } }