function testGetGroupById() { $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettingsTest::createTestGroupAndSyncSettings('Test group testGetGroupById'); $civicrm_group_id = $mailchimp_sync_setting->civicrm_group_id; $returned_group = CRM_CiviMailchimp_Utils::getGroupById($civicrm_group_id); $this->assertEquals('Test group testGetGroupById', $returned_group->name); }
/** * Implements hook_civicrm_post for GroupContact delete. */ function civimailchimp_civicrm_post_GroupContact_delete($group_id, &$contact_ids) { $group = CRM_CiviMailchimp_Utils::getGroupById($group_id); foreach ($contact_ids as $contact_id) { $contact = CRM_CiviMailchimp_Utils::getContactById($contact_id); civimailchimp_civicrm_contact_removed_from_group($group, $contact); } }
function testClearQueueItem() { $mailchimp_list_id = 'MailchimpListsTestListA'; $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettingsTest::createTestGroupAndSyncSettings('Test Group testClearQueueItem', $mailchimp_list_id); $group = CRM_CiviMailchimp_Utils::getGroupById($mailchimp_sync_setting->civicrm_group_id); $params = CRM_CiviMailchimp_UtilsTest::sampleContactParams(); $contact = CRM_Contact_BAO_Contact::create($params); $queue = CRM_Queue_Service::singleton()->create(array('type' => 'Sql', 'name' => 'mailchimp-sync', 'reset' => TRUE)); civimailchimp_civicrm_contact_removed_from_group($group, $contact); $item = $queue->claimItem($lease_time = 0); $existing_mailchimp_sync_log = self::createTestLogMessage('This is a test error message', $details = NULL, $direction = 'civicrm_to_mailchimp', $type = 'error', $item->id); CRM_CiviMailchimp_BAO_SyncLog::clearQueueItem($item->id); $query = "\n SELECT\n *\n FROM\n civicrm_queue_item\n WHERE\n queue_name = 'mailchimp-sync'\n AND\n id = %1\n LIMIT 1\n "; $params = array(1 => array($item->id, 'Integer')); $new_item = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Queue_DAO_QueueItem'); $mailchimp_sync_log = CRM_CiviMailchimp_BAO_SyncLog::findById($existing_mailchimp_sync_log->id); $this->assertFalse($new_item->fetch()); $this->assertNull($mailchimp_sync_log->civicrm_queue_item_id); }
function test_civimailchimp_civicrm_contact_removed_from_group_no_sync_settings() { $group_name = 'Test Group test_contact_removed_from_group_no_sync_settings'; $group_id = $this->groupCreate(array('name' => $group_name, 'title' => $group_name)); $group = CRM_CiviMailchimp_Utils::getGroupById($group_id); $params = CRM_CiviMailchimp_UtilsTest::sampleContactParams(); $contact = CRM_Contact_BAO_Contact::create($params); $queue = CRM_Queue_Service::singleton()->create(array('type' => 'Sql', 'name' => 'mailchimp-sync', 'reset' => TRUE)); civimailchimp_civicrm_contact_removed_from_group($group, $contact); $this->assertEquals(0, $queue->numberOfItems()); }