* +--------------------------------------------------------------------+
* | CiviCRM version 4.7 |
* +--------------------------------------------------------------------+
- * | Copyright CiviCRM LLC (c) 2004-2015 |
+ * | Copyright CiviCRM LLC (c) 2004-2017 |
* +--------------------------------------------------------------------+
* | This file is a part of CiviCRM. |
* | |
* +--------------------------------------------------------------------+
*/
-require_once 'CiviTest/CiviUnitTestCase.php';
-
-
/**
* Test APIv3 civicrm_participant_* functions
*
* @package CiviCRM_APIv3
* @subpackage API_Event
+ * @group headless
*/
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
*/
public function testPaymentOnline() {
- $paymentProcessor = $this->processorCreate();
- $pageParams['processor_id'] = $paymentProcessor->id;
+ $pageParams['processor_id'] = $this->processorCreate();
$contributionPage = $this->contributionPageCreate($pageParams);
$contributionParams = array(
'contact_id' => $this->_contactID,
'contribution_page_id' => $contributionPage['id'],
- 'payment_processor' => $paymentProcessor->id,
+ 'payment_processor' => $pageParams['processor_id'],
'financial_type_id' => 1,
);
$contributionID = $this->contributionCreate($contributionParams);
* Check financial records for online Participant pay later scenario.
*/
public function testPaymentPayLaterOnline() {
-
- $paymentProcessor = $this->processorCreate();
- $pageParams['processor_id'] = $paymentProcessor->id;
+ $pageParams['processor_id'] = $this->processorCreate();
$pageParams['is_pay_later'] = 1;
$contributionPage = $this->contributionPageCreate($pageParams);
$contributionParams = array(
$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);
+ }
+
}