From f8c56ac7360c91061798fca80a67efcaa96a5063 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Mon, 27 Sep 2021 17:28:24 +1300 Subject: [PATCH] Test updates to use postProcess --- CRM/Financial/Form/PaymentEdit.php | 10 ++++++++++ .../CRM/Financial/Form/PaymentEditTest.php | 20 +++++++++---------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/CRM/Financial/Form/PaymentEdit.php b/CRM/Financial/Form/PaymentEdit.php index ae2eb0c00b..23f4143307 100644 --- a/CRM/Financial/Form/PaymentEdit.php +++ b/CRM/Financial/Form/PaymentEdit.php @@ -16,6 +16,16 @@ */ class CRM_Financial_Form_PaymentEdit extends CRM_Core_Form { + /** + * Should financials be checked after the test but before tear down. + * + * Ideally all tests (or at least all that call any financial api calls ) should do this but there + * are some test data issues and some real bugs currently blocking. + * + * @var bool + */ + protected $isValidateFinancialsOnPostAssert = TRUE; + /** * The id of the financial trxn. * diff --git a/tests/phpunit/CRM/Financial/Form/PaymentEditTest.php b/tests/phpunit/CRM/Financial/Form/PaymentEditTest.php index 88119ae5b1..88db91f478 100644 --- a/tests/phpunit/CRM/Financial/Form/PaymentEditTest.php +++ b/tests/phpunit/CRM/Financial/Form/PaymentEditTest.php @@ -29,11 +29,11 @@ class CRM_Financial_Form_PaymentEditTest extends CiviUnitTestCase { /** * Clean up after each test. * - * @throws \CRM_Core_Exception */ public function tearDown(): void { $this->quickCleanUpFinancialEntities(); $this->quickCleanup(['civicrm_note', 'civicrm_uf_match', 'civicrm_address']); + parent::tearDown(); } /** @@ -45,8 +45,7 @@ class CRM_Financial_Form_PaymentEditTest extends CiviUnitTestCase { */ public function testSubmitOnPaymentInstrumentChange(): void { // First create a contribution using 'Check' as payment instrument - $form = new CRM_Contribute_Form_Contribution(); - $form->testSubmit([ + $form = $this->getFormObject('CRM_Contribute_Form_Contribution', [ 'total_amount' => 50, 'receive_date' => '2015-04-21 23:27:00', 'financial_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'financial_type_id', 'Donation'), @@ -54,8 +53,8 @@ class CRM_Financial_Form_PaymentEditTest extends CiviUnitTestCase { 'payment_instrument_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'payment_instrument_id', 'Check'), 'check_number' => '123XA', 'contribution_status_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed'), - ], - CRM_Core_Action::ADD); + ]); + $form->postProcess(); // fetch the financial trxn record later used in setting default values of payment edit form $contribution = $this->callAPISuccessGetSingle('Contribution', ['contact_id' => $this->_individualID]); $payments = CRM_Contribute_BAO_Contribution::getPaymentInfo($contribution['id'], 'contribute', TRUE); @@ -67,7 +66,7 @@ class CRM_Financial_Form_PaymentEditTest extends CiviUnitTestCase { 'payment_instrument_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'payment_instrument_id', 'Credit Card'), 'card_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Financial_DAO_FinancialTrxn', 'card_type_id', 'Visa'), 'pan_truncation' => 1111, - 'trxn_id' => 'txn_12AAAA', + 'trxn_id' => 'txn_12', 'trxn_date' => date('Y-m-d H:i:s'), 'contribution_id' => $contribution['id'], ]; @@ -111,21 +110,20 @@ class CRM_Financial_Form_PaymentEditTest extends CiviUnitTestCase { * Test to ensure that multiple check_numbers are concatenated * and stored in related contribution's check_number */ - public function testSubmitOnCheckNumberChange() { + public function testSubmitOnCheckNumberChange(): void { // CASE 1: Submit contribution using Check as payment instrument and check_number as '123XA' $checkNumber1 = '123XA'; $checkPaymentInstrumentID = CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'payment_instrument_id', 'Check'); // First create a contribution using 'Check' as payment instrument - $form = new CRM_Contribute_Form_Contribution(); - $form->testSubmit([ + $form = $this->getFormObject('CRM_Contribute_Form_Contribution', [ 'total_amount' => 50, 'financial_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'financial_type_id', 'Donation'), 'contact_id' => $this->_individualID, 'payment_instrument_id' => $checkPaymentInstrumentID, 'check_number' => $checkNumber1, 'contribution_status_id' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed'), - ], - CRM_Core_Action::ADD); + ]); + $form->postProcess(); $contribution = $this->callAPISuccessGetSingle('Contribution', ['contact_id' => $this->_individualID]); $payments = CRM_Contribute_BAO_Contribution::getPaymentInfo($contribution['id'], 'contribute', TRUE); $financialTrxnInfo = $payments['transaction'][0]; -- 2.25.1