Make this error message more informative.
authorAidan Saunders <aidan.saunders@squiffle.uk>
Thu, 26 May 2022 14:14:23 +0000 (15:14 +0100)
committerAidan Saunders <aidan.saunders@squiffle.uk>
Fri, 27 May 2022 17:14:01 +0000 (18:14 +0100)
Update test

CRM/Batch/BAO/EntityBatch.php
tests/phpunit/api/v3/EntityBatchTest.php

index f4c1e55a7027fc5e49ee220c13804bde98fb29c0..39db2ba2fc65f6208029900dad84cdca70561c2f 100644 (file)
@@ -45,7 +45,7 @@ class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
         ->execute()
         ->first();
       if ($batchCurrency && $batchCurrency !== $trxn['currency']) {
-        throw new \CRM_Core_Exception(ts('You can not add items of two different currencies to a single contribution batch.'));
+        throw new \CRM_Core_Exception(ts('You cannot add items of two different currencies to a single contribution batch. Batch id %1 currency: %2. Entity id %3 currency: %4.', [1 => $batchId, 2 => $batchCurrency, 3 => $entityId, 4 => $trxn['currency']]));
       }
       if ($batchPID && $trxn && $batchPID !== $trxn['payment_instrument_id']) {
         $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
index 8250199962cd6019230611dfec6968afb0178db2..04402fe9841ca986cb5f4e2b5e4a253edf8118b5 100644 (file)
@@ -113,7 +113,7 @@ class api_v3_EntityBatchTest extends CiviUnitTestCase {
       'entity_table' => 'civicrm_financial_trxn',
     ];
     $result = $this->callAPIFailure($this->_entity, 'create', $secondEntityBatchParams);
-    $this->assertEquals('You can not add items of two different currencies to a single contribution batch.', $result['error_message']);
+    $this->assertEquals("You cannot add items of two different currencies to a single contribution batch. Batch id {$batchId} currency: USD. Entity id {$secondFinancialTrxnId} currency: CAD.", $result['error_message']);
   }
 
 }