+--------------------------------------------------------------------+
| CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2016 |
+ | Copyright CiviCRM LLC (c) 2004-2017 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
public function testCreate() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
$last_month = $now - (30 * 24 * 60 * 60);
$year_from_last_month = $last_month + (365 * 24 * 60 * 60);
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
}
public function testRetrieve() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
}
public function testActiveMembers() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
}
public function testDeleteMembership() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
}
public function testGetContactMembership() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
* page id from the membership record
*/
public function testgetContributionPageId() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
* type.
*/
public function testgetMembershipStarts() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
* optionally for a specified date.
*/
public function testGetMembershipCount() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
/**
- * Take sort name of contact during
- * Update multiple memberships
+ * Checkup sort name function.
*/
- public function testsortName() {
- $contactId = Contact::createIndividual();
+ public function testSortName() {
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
'membership_type_id' => $this->_membershipTypeID,
- 'join_date' => date('Ymd', strtotime('2006-01-21')),
- 'start_date' => date('Ymd', strtotime('2006-01-21')),
- 'end_date' => date('Ymd', strtotime('2006-12-21')),
+ 'join_date' => '2006-01-21',
+ 'start_date' => '2006-01-21',
+ 'end_date' => '2006-12-21',
'source' => 'Payment',
'is_override' => 1,
'status_id' => $this->_membershipStatusID,
);
- $ids = array();
-
- CRM_Member_BAO_Membership::create($params, $ids);
-
- $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
- 'contact_id', 'Database check for created membership.'
- );
- CRM_Member_BAO_Membership::sortName($membershipId);
+ $membership = $this->callAPISuccess('Membership', 'create', $params);
- $this->assertDBCompareValue('CRM_Contact_DAO_Contact', $contactId, 'sort_name', 'id', 'Doe, John',
- 'Database check for sort name record.'
- );
+ $this->assertEquals('Anderson, Anthony', CRM_Member_BAO_Membership::sortName($membership['id']));
- $this->membershipDelete($membershipId);
+ $this->membershipDelete($membership['id']);
$this->contactDelete($contactId);
}
* Delete related memberships.
*/
public function testdeleteRelatedMemberships() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$params = array(
'contact_id' => $contactId,
* Renew membership with change in membership type.
*/
public function testRenewMembership() {
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$joinDate = $startDate = date("Ymd", strtotime(date("Ymd") . " -6 month"));
$endDate = date("Ymd", strtotime($joinDate . " +1 year -1 day"));
$params = array(
$config->keyDisable = TRUE;
$isTestMembership = 0;
- list($MembershipRenew) = CRM_Member_BAO_Membership::renewMembership(
+ list($MembershipRenew) = CRM_Member_BAO_Membership::processMembership(
$contactId,
$this->_membershipTypeID,
$isTestMembership,
*/
public function testStaleMembership() {
$statusId = 3;
- $contactId = Contact::createIndividual();
+ $contactId = $this->individualCreate();
$joinDate = $startDate = date("Ymd", strtotime(date("Ymd") . " -1 year -15 days"));
$endDate = date("Ymd", strtotime($joinDate . " +1 year -1 day"));
$params = array(
$membershipRenewal = new CRM_Core_Form();
$membershipRenewal->controller = new CRM_Core_Controller();
- list($MembershipRenew) = CRM_Member_BAO_Membership::renewMembership(
+ list($MembershipRenew) = CRM_Member_BAO_Membership::processMembership(
$contactId,
$this->_membershipTypeID,
FALSE,
$this->contactDelete($contactId);
}
+ public function testUpdateAllMembershipStatusConvertExpiredOverriddenStatusToNormal() {
+ $params = array(
+ 'contact_id' => $this->individualCreate(),
+ 'membership_type_id' => $this->_membershipTypeID,
+ 'join_date' => date('Ymd', time()),
+ 'start_date' => date('Ymd', time()),
+ 'end_date' => date('Ymd', strtotime('+1 year')),
+ 'source' => 'Payment',
+ 'is_override' => 1,
+ 'status_override_end_date' => date('Ymd', strtotime('-1 day')),
+ 'status_id' => $this->_membershipStatusID,
+ );
+ $ids = array();
+ $createdMembership = CRM_Member_BAO_Membership::create($params, $ids);
+
+ CRM_Member_BAO_Membership::updateAllMembershipStatus();
+
+ $membershipAfterProcess = civicrm_api3('Membership', 'get', array(
+ 'sequential' => 1,
+ 'id' => $createdMembership->id,
+ 'return' => array('id', 'is_override', 'status_override_end_date'),
+ ))['values'][0];
+
+ $this->assertEquals($createdMembership->id, $membershipAfterProcess['id']);
+ $this->assertArrayNotHasKey('is_override', $membershipAfterProcess);
+ $this->assertArrayNotHasKey('status_override_end_date', $membershipAfterProcess);
+ }
+
+ public function testUpdateAllMembershipStatusHandleOverriddenWithEndOverrideDateEqualTodayAsExpired() {
+ $params = array(
+ 'contact_id' => $this->individualCreate(),
+ 'membership_type_id' => $this->_membershipTypeID,
+ 'join_date' => date('Ymd', time()),
+ 'start_date' => date('Ymd', time()),
+ 'end_date' => date('Ymd', strtotime('+1 year')),
+ 'source' => 'Payment',
+ 'is_override' => 1,
+ 'status_override_end_date' => date('Ymd', time()),
+ 'status_id' => $this->_membershipStatusID,
+ );
+ $ids = array();
+ $createdMembership = CRM_Member_BAO_Membership::create($params, $ids);
+
+ CRM_Member_BAO_Membership::updateAllMembershipStatus();
+
+ $membershipAfterProcess = civicrm_api3('Membership', 'get', array(
+ 'sequential' => 1,
+ 'id' => $createdMembership->id,
+ 'return' => array('id', 'is_override', 'status_override_end_date'),
+ ))['values'][0];
+
+ $this->assertEquals($createdMembership->id, $membershipAfterProcess['id']);
+ $this->assertArrayNotHasKey('is_override', $membershipAfterProcess);
+ $this->assertArrayNotHasKey('status_override_end_date', $membershipAfterProcess);
+ }
+
+ public function testUpdateAllMembershipStatusDoesNotConvertOverridenMembershipWithoutEndOverrideDateToNormal() {
+ $params = array(
+ 'contact_id' => $this->individualCreate(),
+ 'membership_type_id' => $this->_membershipTypeID,
+ 'join_date' => date('Ymd', time()),
+ 'start_date' => date('Ymd', time()),
+ 'end_date' => date('Ymd', strtotime('+1 year')),
+ 'source' => 'Payment',
+ 'is_override' => 1,
+ 'status_id' => $this->_membershipStatusID,
+ );
+ $ids = array();
+ $createdMembership = CRM_Member_BAO_Membership::create($params, $ids);
+
+ CRM_Member_BAO_Membership::updateAllMembershipStatus();
+
+ $membershipAfterProcess = civicrm_api3('Membership', 'get', array(
+ 'sequential' => 1,
+ 'id' => $createdMembership->id,
+ 'return' => array('id', 'is_override', 'status_override_end_date'),
+ ))['values'][0];
+
+ $this->assertEquals($createdMembership->id, $membershipAfterProcess['id']);
+ $this->assertEquals(1, $membershipAfterProcess['is_override']);
+ }
+
}