Merge pull request #11965 from colemanw/CRM-21855
[civicrm-core.git] / tests / phpunit / api / v3 / ParticipantPaymentTest.php
index 79f47dc02e9ca0ed3aa0e9d8239d12a1f786a6ef..a47c5baace49546295cbd65b95d6f67761590c9d 100644 (file)
@@ -3,7 +3,7 @@
  * +--------------------------------------------------------------------+
  * | CiviCRM version 4.7                                                |
  * +--------------------------------------------------------------------+
- * | Copyright CiviCRM LLC (c) 2004-2017                                |
+ * | Copyright CiviCRM LLC (c) 2004-2018                                |
  * +--------------------------------------------------------------------+
  * | This file is a part of CiviCRM.                                    |
  * |                                                                    |
@@ -123,6 +123,27 @@ class api_v3_ParticipantPaymentTest extends CiviUnitTestCase {
     $this->contributionDelete($contributionID);
   }
 
+  /**
+   * Test getPaymentInfo() returns correct
+   * information of the participant payment
+   */
+  public function testPaymentInfoForEvent() {
+    //Create Contribution & get contribution ID
+    $contributionID = $this->contributionCreate(array('contact_id' => $this->_contactID));
+
+    //Create Participant Payment record With Values
+    $params = array(
+      'participant_id' => $this->_participantID4,
+      'contribution_id' => $contributionID,
+    );
+    $this->callAPISuccess('participant_payment', 'create', $params);
+
+    //Check if participant payment is correctly retrieved.
+    $paymentInfo = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_participantID4, 'event');
+    $this->assertEquals('Completed', $paymentInfo['contribution_status']);
+    $this->assertEquals('100.00', $paymentInfo['total']);
+  }
+
 
   ///////////////// civicrm_participant_payment_create methods
 
@@ -393,4 +414,26 @@ class api_v3_ParticipantPaymentTest extends CiviUnitTestCase {
     $this->assertDBCompareValues('CRM_Financial_DAO_FinancialItem', $fitemParams, $compareParams);
   }
 
+  /**
+   * test getParticipantIds() function
+   */
+  public function testGetParticipantIds() {
+    $contributionID = $this->contributionCreate(array('contact_id' => $this->_contactID));
+    $expectedParticipants = array($this->_participantID, $this->_participantID2);
+
+    //Create Participant Payment record With Values
+    foreach ($expectedParticipants as $pid) {
+      $params = array(
+        'participant_id' => $pid,
+        'contribution_id' => $contributionID,
+      );
+      $this->callAPISuccess('participant_payment', 'create', $params);
+    }
+    //Check if all participants are listed.
+    $participants = CRM_Event_BAO_Participant::getParticipantIds($contributionID);
+    $this->checkArrayEquals($expectedParticipants, $participants);
+    //delete created contribution
+    $this->contributionDelete($contributionID);
+  }
+
 }