X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCiviTest%2FCiviUnitTestCase.php;h=8e0109380aadb6264aa0084535e9a5a7656548d4;hb=91786f443a2a7bf636d83723404e6cf925b8064d;hp=0b685ffe69109429942a3401c61fb2634e5ba516;hpb=80b3a61f1f6816b4c31b8266ebd4dde1b6d504f5;p=civicrm-core.git diff --git a/tests/phpunit/CiviTest/CiviUnitTestCase.php b/tests/phpunit/CiviTest/CiviUnitTestCase.php index 0b685ffe69..8e0109380a 100644 --- a/tests/phpunit/CiviTest/CiviUnitTestCase.php +++ b/tests/phpunit/CiviTest/CiviUnitTestCase.php @@ -334,12 +334,6 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase { // disable any left-over test extensions CRM_Core_DAO::executeQuery('DELETE FROM civicrm_extension WHERE full_name LIKE "test.%"'); - $extensions = \CRM_Extension_System::singleton()->getManager(); - $api4Status = $extensions->getStatus('org.civicrm.api4'); - if ($api4Status != $extensions::STATUS_INSTALLED && $api4Status != $extensions::STATUS_UNKNOWN) { - $extensions->enable(['org.civicrm.api4']); - } - // reset all the caches CRM_Utils_System::flushCache(); @@ -365,6 +359,7 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase { $_REQUEST = $_GET = $_POST = []; error_reporting(E_ALL); + $this->renameLabels(); $this->_sethtmlGlobals(); } @@ -457,6 +452,7 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase { */ protected function tearDown() { $this->_apiversion = 3; + $this->resetLabels(); error_reporting(E_ALL & ~E_NOTICE); CRM_Utils_Hook::singleton()->reset(); @@ -3326,4 +3322,24 @@ AND ( TABLE_NAME LIKE 'civicrm_value_%' ) return $csv; } + /** + * Rename various labels to not match the names. + * + * Doing these mimics the fact the name != the label in international installs & triggers failures in + * code that expects it to. + */ + protected function renameLabels() { + $replacements = ['Pending', 'Refunded']; + foreach ($replacements as $name) { + CRM_Core_DAO::executeQuery("UPDATE civicrm_option_value SET label = '{$name} Label**' where label = '{$name}' AND name = '{$name}'"); + } + } + + /** + * Undo any label renaming. + */ + protected function resetLabels() { + CRM_Core_DAO::executeQuery("UPDATE civicrm_option_value SET label = REPLACE(name, ' Label**', '') WHERE label LIKE '% Label**'"); + } + }