From 78bdb5a6b07caed3e0c53c3d876da2fd66577bdd Mon Sep 17 00:00:00 2001 From: Matthew Wire Date: Sun, 11 Apr 2021 21:38:41 +0100 Subject: [PATCH] Test fixes to support moving dummy payment processor to doPayment --- CRM/Core/Payment/Dummy.php | 6 +++++- tests/phpunit/CRM/Contribute/Form/ContributionTest.php | 2 +- tests/phpunit/api/v3/ContributionPageTest.php | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CRM/Core/Payment/Dummy.php b/CRM/Core/Payment/Dummy.php index 5e5947c9f8..31e630291b 100644 --- a/CRM/Core/Payment/Dummy.php +++ b/CRM/Core/Payment/Dummy.php @@ -98,7 +98,11 @@ class CRM_Core_Payment_Dummy extends CRM_Core_Payment { if (!empty($this->_doDirectPaymentResult)) { $result = $this->_doDirectPaymentResult; - if (CRM_Utils_Array::value('payment_status_id', $result) === 'failed') { + if (empty($result['payment_status_id'])) { + $result['payment_status_id'] = array_search('Pending', $statuses); + $result['payment_status'] = 'Pending'; + } + if ($result['payment_status_id'] === 'failed') { throw new PaymentProcessorException($result['message'] ?? 'failed'); } $result['trxn_id'] = array_shift($this->_doDirectPaymentResult['trxn_id']); diff --git a/tests/phpunit/CRM/Contribute/Form/ContributionTest.php b/tests/phpunit/CRM/Contribute/Form/ContributionTest.php index 5c98e35c2a..9ea988d920 100644 --- a/tests/phpunit/CRM/Contribute/Form/ContributionTest.php +++ b/tests/phpunit/CRM/Contribute/Form/ContributionTest.php @@ -374,7 +374,7 @@ class CRM_Contribute_Form_ContributionTest extends CiviUnitTestCase { */ public function testSubmitCreditCardFee() { $form = new CRM_Contribute_Form_Contribution(); - $this->paymentProcessor->setDoDirectPaymentResult(['is_error' => 0, 'trxn_id' => 'tx', 'fee_amount' => .08]); + $this->paymentProcessor->setDoDirectPaymentResult(['payment_status_id' => 1, 'is_error' => 0, 'trxn_id' => 'tx', 'fee_amount' => .08]); $form->_mode = 'Live'; $form->testSubmit([ 'total_amount' => 50, diff --git a/tests/phpunit/api/v3/ContributionPageTest.php b/tests/phpunit/api/v3/ContributionPageTest.php index e7f14a6d81..68a83aa856 100644 --- a/tests/phpunit/api/v3/ContributionPageTest.php +++ b/tests/phpunit/api/v3/ContributionPageTest.php @@ -725,7 +725,7 @@ class api_v3_ContributionPageTest extends CiviUnitTestCase { $mut = new CiviMailUtils($this, TRUE); $this->setUpMembershipContributionPage(TRUE); $processor = Civi\Payment\System::singleton()->getById($this->_paymentProcessor['id']); - $processor->setDoDirectPaymentResult(['fee_amount' => .72]); + $processor->setDoDirectPaymentResult(['payment_status_id' => 1, 'fee_amount' => .72]); $submitParams = [ 'price_' . $this->_ids['price_field'][0] => reset($this->_ids['price_field_value']), 'id' => (int) $this->_ids['contribution_page'], -- 2.25.1