+--------------------------------------------------------------------+
| CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2017 |
+ | Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
);
}
- ///////////////// civicrm_group_contact_get methods
-
/**
* Test GroupContact.get by ID.
*/
$this->assertEquals($result['total_count'], 2);
}
- ///////////////// civicrm_group_contact_remove methods
-
/**
* Test GroupContact.delete by contact+group ID.
*/
$this->assertEquals($result2['total_count'], 1);
}
+ /**
+ * CRM-19979 test that group cotnact delete action works when contact is in status of pendin.
+ */
+ public function testDeleteWithPending() {
+ $groupId3 = $this->groupCreate(array(
+ 'name' => 'Test Group 3',
+ 'domain_id' => 1,
+ 'title' => 'New Test Group3 Created',
+ 'description' => 'New Test Group3 Created',
+ 'is_active' => 1,
+ 'visibility' => 'User and User Admin Only',
+ ));
+ $groupContactCreateParams = array(
+ 'contact_id' => $this->_contactId,
+ 'group_id' => $groupId3,
+ 'status' => 'Pending',
+ );
+ $groupContact = $this->callAPISuccess('groupContact', 'create', $groupContactCreateParams);
+ $groupGetContact = $this->CallAPISuccess('groupContact', 'get', $groupContactCreateParams);
+ $this->callAPISuccess('groupContact', 'delete', array('id' => $groupGetContact['id'], 'status' => 'Removed'));
+ $this->callAPISuccess('groupContact', 'delete', array('id' => $groupGetContact['id'], 'skip_undelete' => TRUE));
+ $this->callAPISuccess('group', 'delete', array('id' => $groupId3));
+ }
+
+ /**
+ * CRM-19979 test that group cotnact delete action works when contact is in status of pendin and is a permanent delete.
+ */
+ public function testPermanentDeleteWithPending() {
+ $groupId3 = $this->groupCreate(array(
+ 'name' => 'Test Group 3',
+ 'domain_id' => 1,
+ 'title' => 'New Test Group3 Created',
+ 'description' => 'New Test Group3 Created',
+ 'is_active' => 1,
+ 'visibility' => 'User and User Admin Only',
+ ));
+ $groupContactCreateParams = array(
+ 'contact_id' => $this->_contactId,
+ 'group_id' => $groupId3,
+ 'status' => 'Pending',
+ );
+ $groupContact = $this->callAPISuccess('groupContact', 'create', $groupContactCreateParams);
+ $groupGetContact = $this->CallAPISuccess('groupContact', 'get', $groupContactCreateParams);
+ $this->callAPISuccess('groupContact', 'delete', array('id' => $groupGetContact['id'], 'skip_undelete' => TRUE));
+ $this->callAPISuccess('group', 'delete', array('id' => $groupId3));
+ }
+
/**
* CRM-16945 duplicate groups are showing up when contacts are hard-added to child groups or smart groups.
*