X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCiviTest%2FCiviUnitTestCase.php;h=8e0109380aadb6264aa0084535e9a5a7656548d4;hb=91786f443a2a7bf636d83723404e6cf925b8064d;hp=8cc6355d740174084fb3ccc21fbff8027d7ad92c;hpb=9853731c2578d7eedfc0ec0cb442520081da9966;p=civicrm-core.git diff --git a/tests/phpunit/CiviTest/CiviUnitTestCase.php b/tests/phpunit/CiviTest/CiviUnitTestCase.php index 8cc6355d74..8e0109380a 100644 --- a/tests/phpunit/CiviTest/CiviUnitTestCase.php +++ b/tests/phpunit/CiviTest/CiviUnitTestCase.php @@ -359,6 +359,7 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase { $_REQUEST = $_GET = $_POST = []; error_reporting(E_ALL); + $this->renameLabels(); $this->_sethtmlGlobals(); } @@ -451,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(); @@ -3320,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**'"); + } + }