Merge pull request #18460 from eileenmcnaughton/comment
authorSeamus Lee <seamuslee001@gmail.com>
Mon, 14 Sep 2020 06:33:59 +0000 (16:33 +1000)
committerGitHub <noreply@github.com>
Mon, 14 Sep 2020 06:33:59 +0000 (16:33 +1000)
Update code comments

15 files changed:
CRM/Activity/BAO/Activity.php
CRM/Contribute/BAO/Contribution.php
CRM/Contribute/Form/Contribution/Confirm.php
CRM/Core/Payment/PayPalImpl.php
CRM/Event/BAO/Participant.php
CRM/Financial/BAO/FinancialItem.php
CRM/Mailing/BAO/MailingJob.php
CRM/Member/BAO/Membership.php
CRM/Member/BAO/MembershipStatus.php
CRM/Member/Form/MembershipRenewal.php
tests/phpunit/CRM/Contribute/Form/Contribution/ConfirmTest.php
tests/phpunit/CRM/Event/Form/Registration/ConfirmTest.php
tests/phpunit/CRM/Member/BAO/MembershipStatusTest.php
tests/phpunit/CRM/Member/Form/MembershipRenewalTest.php
tests/phpunit/api/v3/MailingTest.php

index 40f6fdc906656c530692d0d9f7449555c8a43adf..378b9d6b57192e91fcfe874071c28bdd5652b6d7 100644 (file)
@@ -1732,7 +1732,7 @@ WHERE      activity.id IN ($activityIds)";
         $params['campaign_id'] = $activity->campaign_id;
       }
 
-      $date = CRM_Utils_Date::isoToMysql($activity->receive_date);
+      $date = $activity->receive_date;
     }
 
     $activityParams = [
index 7ae760f23e134a8df97b001015452bd3b35ee370..10eb9ca186d5f5c0757baa88fb7f1a12e0c55422 100644 (file)
@@ -4437,7 +4437,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
     $contributionParams['payment_processor'] = $paymentProcessorId;
 
     if (empty($contributionParams['payment_instrument_id']) && isset($contribution->_relatedObjects['paymentProcessor']['payment_instrument_id'])) {
-      $contributionParams['payment_instrument_id'] = PaymentProcessor::get()->addWhere('id', '=', $paymentProcessorId)->addSelect('payment_instrument_id')->execute()->first()['payment_instrument_id'];
+      $contributionParams['payment_instrument_id'] = PaymentProcessor::get(FALSE)->addWhere('id', '=', $paymentProcessorId)->addSelect('payment_instrument_id')->execute()->first()['payment_instrument_id'];
     }
 
     if ($recurringContributionID) {
index 4053947fc75aa23dbf63034291f0b94ae516cb61..8cca2fb6b061cca42bf3fbc624f193f871790535 100644 (file)
@@ -1020,7 +1020,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
 
     // create an activity record
     if ($contribution) {
-      CRM_Activity_BAO_Activity::addActivity($contribution, NULL, $targetContactID, $actParams);
+      CRM_Activity_BAO_Activity::addActivity($contribution, 'Contribution', $targetContactID, $actParams);
     }
 
     $transaction->commit();
index 2da74b406572ea713fa7f3529deb4a271d3a732c..7836c32eada0a2bf32b233f7e8a1cbb482764c29 100644 (file)
@@ -179,12 +179,22 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
         $form->_expressButtonName = $form->getButtonName('upload', 'express');
       }
       $form->assign('expressButtonName', $form->_expressButtonName);
-      $form->add(
-        'image',
-        $form->_expressButtonName,
-        $this->_paymentProcessor['url_button'],
-        ['class' => 'crm-form-submit']
-      );
+      $form->add('xbutton', $form->_expressButtonName, ts('Pay using PayPal'), [
+        'type' => 'submit',
+        'formnovalidate' => 'formnovalidate',
+        'class' => 'crm-form-submit',
+      ]);
+      CRM_Core_Resources::singleton()->addStyle('
+        button#' . $form->_expressButtonName . '{
+         background-image: url(' . $this->_paymentProcessor['url_button'] . ');
+         color: transparent;
+         background-repeat: no-repeat;
+         background-color: transparent;
+         background-position: center;
+         min-width: 150px;
+         min-height: 50px;
+         border: none;
+       ');
     }
   }
 
@@ -1111,7 +1121,6 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
     if ($this->isPayPalType($this::PAYPAL_EXPRESS)) {
       return TRUE;
     }
-
     // This would occur postProcess.
     if (!empty($params['token'])) {
       return TRUE;
@@ -1125,6 +1134,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
     $possibleExpressFields = [
       '_qf_Register_upload_express_x',
       '_qf_Payment_upload_express_x',
+      '_qf_Main_upload_express',
     ];
     if (array_intersect_key($params, array_fill_keys($possibleExpressFields, 1))) {
       return TRUE;
index f18198b2096152b5c67be0cf2e5f43f158626bff..c68f021c9a590b28e324cd5817fa807ce5a75fe0 100644 (file)
@@ -191,7 +191,7 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant {
     ) {
       // Default status if not specified
       $participant->status_id = $participant->status_id ?: self::fields()['participant_status_id']['default'];
-      CRM_Activity_BAO_Activity::addActivity($participant);
+      CRM_Activity_BAO_Activity::addActivity($participant, 'Event Registration');
     }
 
     //CRM-5403
index fb5dca3d165535d4c2da780dbf23f0dc8b049a3d..d63db1dbb8cf55aca22b66e15efec7f1098a5faa 100644 (file)
@@ -74,7 +74,7 @@ class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
       $itemStatus = array_search('Partially paid', $financialItemStatus);
     }
     $params = [
-      'transaction_date' => CRM_Utils_Date::isoToMysql($contribution->receive_date),
+      'transaction_date' => $contribution->receive_date,
       'contact_id' => $contribution->contact_id,
       'amount' => $lineItem->line_total,
       'currency' => $contribution->currency,
index 4b1d5c6656a4d72ab074dbe8e5c45f570f7f47f1..7868dfb85ffe33602d402a57f35afb8e36929818 100644 (file)
@@ -499,7 +499,7 @@ VALUES (%1, %2, %3, %4, %5, %6, %7)
       $swapLang = CRM_Utils_AutoClean::swap('global://dbLocale?getter', 'call://i18n/setLocale', $mailing->language);
     }
 
-    $job_date = CRM_Utils_Date::isoToMysql($this->scheduled_date);
+    $job_date = $this->scheduled_date;
     $fields = [];
 
     if (!empty($testParams)) {
index 5260b31c27226ca2a8f671dbc55913e567b9eeb8..3a98f1d5877698857a1c2e4f1f839373c51f1bf9 100644 (file)
@@ -2284,21 +2284,6 @@ WHERE {$whereClause}";
     while ($dao2->fetch()) {
       $processCount++;
 
-      // Put common parameters into array for easy access
-      $memberParams = [
-        'id' => $dao2->membership_id,
-        'status_id' => $dao2->status_id,
-        'contact_id' => $dao2->contact_id,
-        'membership_type_id' => $dao2->membership_type_id,
-        'membership_type' => $allMembershipTypes[$dao2->membership_type_id]['name'],
-        'join_date' => $dao2->join_date,
-        'start_date' => $dao2->start_date,
-        'end_date' => $dao2->end_date,
-        'source' => $dao2->source,
-        'skipStatusCal' => TRUE,
-        'skipRecentView' => TRUE,
-      ];
-
       // CRM-7248: added excludeIsAdmin param to the following fn call to prevent moving to admin statuses
       //get the membership status as per id.
       $newStatus = civicrm_api3('membership_status', 'calc',
@@ -2313,27 +2298,16 @@ WHERE {$whereClause}";
       if ($statusId &&
         $statusId != $dao2->status_id
       ) {
-        //take all params that need to save.
-        $memParams = $memberParams;
-        $memParams['status_id'] = $statusId;
-        $memParams['createActivity'] = TRUE;
-
-        // Unset columns which should remain unchanged from their current saved
-        // values. This avoids race condition in which these values may have
-        // been changed by other processes.
-        unset(
-          $memParams['contact_id'],
-          $memParams['membership_type_id'],
-          $memParams['membership_type'],
-          $memParams['join_date'],
-          $memParams['start_date'],
-          $memParams['end_date'],
-          $memParams['source']
-        );
-        //since there is change in status.
+        $memberParams = [
+          'id' => $dao2->membership_id,
+          'skipStatusCal' => TRUE,
+          'skipRecentView' => TRUE,
+          'status_id' => $statusId,
+          'createActivity' => TRUE,
+        ];
 
         //process member record.
-        civicrm_api3('membership', 'create', $memParams);
+        civicrm_api3('membership', 'create', $memberParams);
         $updateCount++;
       }
     }
index 535f51ed9560803973f7a1cbda74ad22c10ec337..dd3404405dcfe5055c25b088e271597147a80f80 100644 (file)
@@ -55,26 +55,21 @@ class CRM_Member_BAO_MembershipStatus extends CRM_Member_DAO_MembershipStatus {
    * Takes an associative array and creates a membership Status object.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   Array of name/value pairs.
    *
-   * @throws Exception
-   * @return CRM_Member_BAO_MembershipStatus
+   * @throws CRM_Core_Exception
+   * @return CRM_Member_DAO_MembershipStatus
    */
   public static function create($params) {
-    $ids = [];
-    if (!empty($params['id'])) {
-      $ids['membershipStatus'] = $params['id'];
-    }
-    else {
+    if (empty($params['id'])) {
       //don't allow duplicate names - if id not set
       $status = new CRM_Member_DAO_MembershipStatus();
       $status->name = $params['name'];
       if ($status->find(TRUE)) {
-        throw new Exception('A membership status with this name already exists.');
+        throw new CRM_Core_Exception('A membership status with this name already exists.');
       }
     }
-    $membershipStatusBAO = CRM_Member_BAO_MembershipStatus::add($params, $ids);
-    return $membershipStatusBAO;
+    return self::add($params);
   }
 
   /**
@@ -85,10 +80,12 @@ class CRM_Member_BAO_MembershipStatus extends CRM_Member_DAO_MembershipStatus {
    * @param array $ids
    *   Array contains the id - this param is deprecated.
    *
-   *
-   * @return object
+   * @return CRM_Member_DAO_MembershipStatus
    */
   public static function add(&$params, $ids = []) {
+    if (!empty($ids)) {
+      CRM_Core_Error::deprecatedFunctionWarning('ids is a deprecated parameter');
+    }
     $id = $params['id'] ?? $ids['membershipStatus'] ?? NULL;
     if (!$id) {
       CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());
index e7ea29422939abe4653f287f6e2c04da75a7f24f..7d22be90dc4bc0d3794850c4cacb0446e1e57a28 100644 (file)
@@ -495,7 +495,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
     $now = CRM_Utils_Date::getToday(NULL, 'YmdHis');
     $this->assign('receive_date', CRM_Utils_Array::value('receive_date', $this->_params, date('Y-m-d H:i:s')));
     $this->processBillingAddress();
-    list($userName) = CRM_Contact_BAO_Contact_Location::getEmailDetails(CRM_Core_Session::singleton()->get('userID'));
+
     $this->_params['total_amount'] = CRM_Utils_Array::value('total_amount', $this->_params,
       CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $this->_memType, 'minimum_fee')
     );
@@ -602,10 +602,10 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
 
     if (!empty($this->_params['record_contribution']) || $this->_mode) {
       // set the source
+      list($userName) = CRM_Contact_BAO_Contact_Location::getEmailDetails(CRM_Core_Session::singleton()->get('userID'));
       $this->_params['contribution_source'] = "{$this->membershipTypeName} Membership: Offline membership renewal (by {$userName})";
 
       //create line items
-      $lineItem = [];
       $this->_params = $this->setPriceSetParameters($this->_params);
 
       $order = new CRM_Financial_BAO_Order();
index 7e8cc08a3bb10e5dfde973f5bc5f5d6f0f426f66..c5ab5f7f175e3ad993fed6ad19dd3a6b4fb9bcf4 100644 (file)
@@ -28,9 +28,10 @@ class CRM_Contribute_Form_Contribution_ConfirmTest extends CiviUnitTestCase {
   /**
    * CRM-21200: Test that making online payment for pending contribution doesn't overwite the contribution details
    */
-  public function testPaynowPayment() {
+  public function testPayNowPayment() {
     $contactID = $this->individualCreate();
     $paymentProcessorID = $this->paymentProcessorCreate(['payment_processor_type_id' => 'Dummy']);
+    CRM_Core_Config::singleton()->userPermissionClass->permissions = [];
 
     // create a contribution page which is later used to make pay-later contribution
     $result = $this->callAPISuccess('ContributionPage', 'create', [
@@ -80,7 +81,7 @@ class CRM_Contribute_Form_Contribution_ConfirmTest extends CiviUnitTestCase {
       'payment_instrument_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'payment_instrument_id', 'Credit card'),
     ];
     $form->_params = [
-      'qfKey' => 'donotcare',
+      'qfKey' => 'do not care',
       'contribution_id' => $contribution['id'],
       'credit_card_number' => 4111111111111111,
       'cvv2' => 234,
@@ -154,7 +155,7 @@ class CRM_Contribute_Form_Contribution_ConfirmTest extends CiviUnitTestCase {
       'relationship_type_id' => 5,
       'is_current_employer' => 1,
     ]);
-    $processConfirmResult = CRM_Contribute_BAO_Contribution_Utils::processConfirm($form,
+    CRM_Contribute_BAO_Contribution_Utils::processConfirm($form,
       $form->_params,
       $form->_params['onbehalf_contact_id'],
       $form->_values['financial_type_id'],
@@ -169,7 +170,7 @@ class CRM_Contribute_Form_Contribution_ConfirmTest extends CiviUnitTestCase {
       'sequential' => 1,
       'source_record_id' => $contribution['id'],
       'contact_id' => $form->_params['onbehalf_contact_id'],
-      'activity_type_id' => "Contribution",
+      'activity_type_id' => 'Contribution',
     ]);
     $this->assertEquals(1, $activity['count']);
   }
index 030228424165b1bca969399207d2884c793a0030..7278eacafc1de7e516d0c5f47fc63d04f8efb12c 100644 (file)
@@ -76,6 +76,7 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
         ],
       ],
     ]);
+
     $participant = $this->callAPISuccessGetSingle('Participant', []);
     $mut->checkMailLog([
       'Dear Logged In,  Thank you for your registration.  This is a confirmation that your registration has been received and your status has been updated to Registered.',
@@ -415,9 +416,10 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
   /**
    * Submit event registration with a note field
    *
-   * @param  array $event
+   * @param array $event
    * @param int $contact_id
    *
+   * @return array
    * @throws \Exception
    */
   private function submitWithNote($event, $contact_id) {
@@ -532,8 +534,10 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
    * @param string $field_name
    * @param string $field_type
    * @param string $field_label
+   *
    * @return array
    *   API result array
+   * @throws \CRM_Core_Exception
    */
   private function uf_field_add($uf_group_id, $field_name, $field_type, $field_label) {
     $params = [
@@ -546,8 +550,7 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
       'is_active' => 1,
       'uf_group_id' => $uf_group_id,
     ];
-    $result = civicrm_api3('UFField', 'create', $params);
-    return $result;
+    return $this->callAPISuccess('UFField', 'create', $params);
   }
 
   /**
@@ -559,7 +562,7 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
     //create an event with an attached profile containing a note
     $event = $this->creatEventWithProfile(NULL);
     $event['custom_pre_id'] = $this->ids["UFGroup"]["our profile"];
-    $event['note'] = "This is note 1";
+    $event['note'] = 'This is note 1';
     list($contact_id, $participant_id) = $this->submitWithNote($event, NULL);
     civicrm_api3('Participant', 'delete', ['id' => $participant_id]);
 
@@ -567,15 +570,15 @@ class CRM_Event_Form_Registration_ConfirmTest extends CiviUnitTestCase {
     //and confirm that the note shown in the email is the current one
     $event = $this->creatEventWithProfile($event);
     $event['custom_pre_id'] = $this->ids["UFGroup"]["our profile"];
-    $event['note'] = "This is note 2";
+    $event['note'] = 'This is note 2';
     list($contact_id, $participant_id) = $this->submitWithNote($event, $contact_id);
     civicrm_api3('Participant', 'delete', ['id' => $participant_id]);
 
     //finally, submit a blank note and confirm that the note shown in the email is blank
     $event = $this->creatEventWithProfile($event);
     $event['custom_pre_id'] = $this->ids["UFGroup"]["our profile"];
-    $event['note'] = "";
-    list($contact_id, $participant_id) = $this->submitWithNote($event, $contact_id);
+    $event['note'] = '';
+    $this->submitWithNote($event, $contact_id);
   }
 
 }
index e33f916c9aa65192243e45b2d3d3ebfcd2891b66..f413ffd22b7c4dba4b5078cda9b6cd1795bdfcd6 100644 (file)
  */
 class CRM_Member_BAO_MembershipStatusTest extends CiviUnitTestCase {
 
-  public function setUp() {
-    parent::setUp();
+  protected function tearDown() {
+    foreach ($this->ids as $entity => $ids) {
+      foreach ($ids as $id) {
+        $this->callAPISuccess($entity, 'Delete', ['id' => $id]);
+      }
+    }
+    parent::tearDown();
   }
 
   /**
@@ -24,33 +29,27 @@ class CRM_Member_BAO_MembershipStatusTest extends CiviUnitTestCase {
    */
   public function testAdd() {
     $params = [
-      'name' => 'pending',
+      'name' => 'added',
       'is_active' => 1,
     ];
 
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
+    $this->ids['MembershipStatus'][0] = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
 
-    $result = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $membershipStatus->id,
+    $result = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $this->ids['MembershipStatus'][0],
       'name', 'id',
       'Database check on updated membership status record.'
     );
-    $this->assertEquals($result, 'pending', 'Verify membership status is_active.');
-
-    $this->callAPISuccess('MembershipStatus', 'Delete', ['id' => $membershipStatus->id]);
+    $this->assertEquals($result, 'added', 'Verify membership status is_active.');
   }
 
   public function testRetrieve() {
 
-    $params = [
-      'name' => 'testStatus',
-      'is_active' => 1,
-    ];
+    $params = ['name' => 'testStatus', 'is_active' => 1];
 
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
+    $this->ids['MembershipStatus'][0] = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
     $defaults = [];
     $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults);
     $this->assertEquals($result->name, 'testStatus', 'Verify membership status name.');
-    CRM_Member_BAO_MembershipStatus::del($membershipStatus->id);
   }
 
   public function testPseudoConstantflush() {
@@ -58,66 +57,58 @@ class CRM_Member_BAO_MembershipStatusTest extends CiviUnitTestCase {
       'name' => 'testStatus',
       'is_active' => 1,
     ];
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
+    $this->ids['MembershipStatus'][0] = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
     $defaults = [];
     $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults);
     $this->assertEquals($result->name, 'testStatus', 'Verify membership status name.');
     $updateParams = [
-      'id' => $membershipStatus->id,
+      'id' => $this->ids['MembershipStatus'][0],
       'name' => 'testStatus',
       'label' => 'Changed Status',
       'is_active' => 1,
     ];
-    $membershipStatus2 = CRM_Member_BAO_MembershipStatus::add($updateParams);
-    $result = CRM_Member_PseudoConstant::membershipStatus($membershipStatus->id, NULL, 'label', FALSE, FALSE);
+    $this->callAPISuccess('MembershipStatus', 'create', $updateParams)['id'];
+    $result = CRM_Member_PseudoConstant::membershipStatus($this->ids['MembershipStatus'][0], NULL, 'label', FALSE, FALSE);
     $this->assertEquals($result, 'Changed Status', 'Verify updated membership status label From PseudoConstant.');
-    CRM_Member_BAO_MembershipStatus::del($membershipStatus->id);
   }
 
   public function testSetIsActive() {
 
     $params = [
-      'name' => 'pending',
+      'name' => 'added',
       'is_active' => 1,
     ];
 
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
-    $result = CRM_Member_BAO_MembershipStatus::setIsActive($membershipStatus->id, 0);
-    $this->assertEquals($result, TRUE, 'Verify membership status record updation.');
+    $this->ids['MembershipStatus'][0] = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
+    $result = CRM_Member_BAO_MembershipStatus::setIsActive($this->ids['MembershipStatus'][0], 0);
+    $this->assertEquals($result, TRUE, 'Verify membership status record updated.');
 
-    $isActive = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $membershipStatus->id,
+    $isActive = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $this->ids['MembershipStatus'][0],
       'is_active', 'id',
       'Database check on updated membership status record.'
     );
     $this->assertEquals($isActive, 0, 'Verify membership status is_active.');
-
-    $this->callAPISuccess('MembershipStatus', 'Delete', ['id' => $membershipStatus->id]);
   }
 
   public function testGetMembershipStatus() {
     $params = [
-      'name' => 'pending',
+      'name' => 'added',
       'is_active' => 1,
     ];
 
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
-    $result = CRM_Member_BAO_MembershipStatus::getMembershipStatus($membershipStatus->id);
-    $this->assertEquals($result['name'], 'pending', 'Verify membership status name.');
-
-    $this->callAPISuccess('MembershipStatus', 'Delete', ['id' => $membershipStatus->id]);
+    $this->ids['MembershipStatus'][0] = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
+    $result = CRM_Member_BAO_MembershipStatus::getMembershipStatus($this->ids['MembershipStatus'][0]);
+    $this->assertEquals($result['name'], 'added', 'Verify membership status name.');
   }
 
   public function testDel() {
-    $params = [
-      'name' => 'testStatus',
-      'is_active' => 1,
-    ];
+    $params = ['name' => 'testStatus', 'is_active' => 1];
 
-    $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params);
-    CRM_Member_BAO_MembershipStatus::del($membershipStatus->id);
+    $membershipID = $this->callAPISuccess('MembershipStatus', 'create', $params)['id'];
+    CRM_Member_BAO_MembershipStatus::del($membershipID);
     $defaults = [];
     $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults);
-    $this->assertEquals(empty($result), TRUE, 'Verify membership status record deletion.');
+    $this->assertEquals($result === NULL, TRUE, 'Verify membership status record deletion.');
   }
 
   /**
index f13fdf4c52916636332802b1288e9a381fc6f3e4..8a8b26d31af4849de6d363dc7694a0f1f82f0ec0 100644 (file)
@@ -9,6 +9,8 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Api4\Contact;
+
 /**
  *  Test CRM_Member_Form_Membership functions.
  *
@@ -132,7 +134,8 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
    */
   public function testSubmit() {
     $form = $this->getForm();
-    $this->createLoggedInUser();
+    $loggedInUserID = $this->createLoggedInUser();
+    $loggedInUserDisplayName = Contact::get()->addWhere('id', '=', $loggedInUserID)->addSelect('display_name')->execute()->first()['display_name'];
     $params = $this->getBaseSubmitParams();
     $form->_contactID = $this->_individualId;
 
@@ -140,10 +143,12 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $form->setRenewalMessage();
     $membership = $this->callAPISuccessGetSingle('Membership', ['contact_id' => $this->_individualId]);
     $this->callAPISuccessGetCount('ContributionRecur', ['contact_id' => $this->_individualId], 0);
-    $contribution = $this->callAPISuccess('Contribution', 'get', [
+    $contribution = $this->callAPISuccessGetSingle('Contribution', [
       'contact_id' => $this->_individualId,
       'is_test' => TRUE,
     ]);
+    $expectedContributionSource = 'AnnualFixed Membership: Offline membership renewal (by ' . $loggedInUserDisplayName . ')';
+    $this->assertEquals($expectedContributionSource, $contribution['contribution_source']);
 
     $this->callAPISuccessGetCount('LineItem', [
       'entity_id' => $membership['id'],
@@ -234,7 +239,7 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $params = [
       'cid' => $this->_individualId,
       'price_set_id' => 0,
-      'join_date' => date('m/d/Y', time()),
+      'join_date' => date('m/d/Y'),
       'start_date' => '',
       'end_date' => '',
       'campaign_id' => '',
@@ -443,7 +448,7 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $originalMembership = $this->callAPISuccessGetSingle('membership', []);
     $params = [
       'cid' => $this->_individualId,
-      'join_date' => date('m/d/Y', time()),
+      'join_date' => date('m/d/Y'),
       'start_date' => '',
       'end_date' => '',
       // This format reflects the 23 being the organisation & the 25 being the type.
@@ -554,7 +559,7 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $originalMembership = $this->callAPISuccessGetSingle('membership', []);
     $params = [
       'cid' => $this->_individualId,
-      'join_date' => date('m/d/Y', time()),
+      'join_date' => date('m/d/Y'),
       'start_date' => '',
       'end_date' => '',
       // This format reflects the 23 being the organisation & the 25 being the type.
index c132b77cbf9418bccb5b33afbe070e1b2638b94c..962101dc59d4c4f6f015be9a3e0cf71902675d02 100644 (file)
@@ -745,7 +745,7 @@ class api_v3_MailingTest extends CiviUnitTestCase {
 
     //Create and send test mail first and change the mail job to live,
     //because stats api only works on live mail
-    $mail = $this->callAPISuccess('mailing', 'create', $this->_params);
+    $mail = $this->callAPISuccess('Mailing', 'create', $this->_params);
     $params = ['mailing_id' => $mail['id'], 'test_email' => NULL, 'test_group' => $this->_groupID];
     $deliveredInfo = $this->callAPISuccess($this->_entity, 'send_test', $params);
     $deliveredIds = implode(',', array_keys($deliveredInfo['values']));
@@ -761,7 +761,7 @@ class api_v3_MailingTest extends CiviUnitTestCase {
          ORDER BY RAND() LIMIT 0,20");
       $temporaryTableName = $temporaryTable->getName();
 
-      if ($type == 'unsubscribe') {
+      if ($type === 'unsubscribe') {
         $sql = "INSERT INTO civicrm_mailing_event_{$type} (event_queue_id, time_stamp, org_unsubscribe)
 SELECT event_queue_id, time_stamp, 1 FROM {$temporaryTableName}";
       }
@@ -801,8 +801,8 @@ SELECT event_queue_id, time_stamp FROM {$temporaryTableName}";
    * Test Mailing.gettokens.
    */
   public function testMailGetTokens() {
-    $description = "Demonstrates fetching tokens for one or more entities (in this case \"Contact\" and \"Mailing\").
-      Optionally pass sequential=1 to have output ready-formatted for the select2 widget.";
+    $description = 'Demonstrates fetching tokens for one or more entities (in this case "Contact" and "Mailing").
+      Optionally pass sequential=1 to have output ready-formatted for the select2 widget.';
     $result = $this->callAPIAndDocument($this->_entity, 'gettokens', ['entity' => ['Contact', 'Mailing']], __FUNCTION__, __FILE__, $description);
     $this->assertContains('Contact Type', $result['values']);
 
@@ -838,14 +838,14 @@ SELECT event_queue_id, time_stamp FROM {$temporaryTableName}";
     // END SAMPLE DATA
 
     $create = $this->callAPISuccess('Mailing', 'create', $params);
-    $created = $this->callAPISuccess('Mailing', 'get', []);
+    $this->callAPISuccess('Mailing', 'get');
     $createId = $create['id'];
     $this->createLoggedInUser();
     $clone = $this->callAPIAndDocument('Mailing', 'clone', ['id' => $create['id']], __FUNCTION__, __FILE__);
     $cloneId = $clone['id'];
 
     $this->assertNotEquals($createId, $cloneId, 'Create and clone should return different records');
-    $this->assertTrue(is_numeric($cloneId));
+    $this->assertInternalType('numeric', $cloneId);
 
     $this->assertNotEmpty($clone['values'][$cloneId]['subject']);
     $this->assertEquals($params['subject'], $clone['values'][$cloneId]['subject'], "Cloned subject should match");
@@ -953,12 +953,14 @@ SELECT event_queue_id, time_stamp FROM {$temporaryTableName}";
   /**
    * @param array $params
    *   Extra parameters for the draft mailing.
+   *
    * @return array|int
+   * @throws \CRM_Core_Exception
    */
   public function createDraftMailing($params = []) {
     $createParams = array_merge($this->_params, $params);
     $createResult = $this->callAPISuccess('mailing', 'create', $createParams, __FUNCTION__, __FILE__);
-    $this->assertTrue(is_numeric($createResult['id']));
+    $this->assertInternalType('numeric', $createResult['id']);
     $this->assertDBQuery(0, 'SELECT count(*) FROM civicrm_mailing_job WHERE mailing_id = %1', [
       1 => [$createResult['id'], 'Integer'],
     ]);