*/
class CRM_Core_BAO_SettingTest extends CiviUnitTestCase {
+ /**
+ * Original value of civicrm_setting global.
+ * @var array
+ */
+ private $origSetting;
+
public function setUp() {
parent::setUp();
global $civicrm_setting;
$this->origSetting = $civicrm_setting;
- CRM_Utils_Cache::singleton()->flush();
+ CRM_Utils_Cache::singleton()->clear();
}
+ /**
+ * Clean up after test.
+ *
+ * @throws \CRM_Core_Exception
+ */
public function tearDown() {
global $civicrm_setting;
$civicrm_setting = $this->origSetting;
- CRM_Utils_Cache::singleton()->flush();
+ $this->quickCleanup(['civicrm_contribution']);
+ CRM_Utils_Cache::singleton()->clear();
parent::tearDown();
}
'notes' => '<p>Give me money</p>',
'tax_term' => 'Extortion',
'tax_display_settings' => 'Exclusive',
+ // NOTE: This form of `invoicing` is accepted, but it may be normalized to the idiomatic form with a nested array.
'invoicing' => 1,
'is_email_pdf' => '1',
];
$getVersion = $this->callAPISuccessGetValue('Setting', ['name' => 'contribution_invoice_settings']);
$this->assertEquals($settingsFromAPI, $settingsFromGet);
$this->assertAPIArrayComparison($getVersion, $settingsFromGet);
- $this->assertEquals($contributionSettings, $settingsFromGet);
+ $this->assertEquals(['invoicing' => ['invoicing' => 1]] + $contributionSettings, $settingsFromGet);
// These are the preferred retrieval methods.
$this->assertEquals('G_', Civi::settings()->get('invoice_prefix'));
$this->assertEquals('Development', $environment);
}
+ /**
+ * Test that options defined as a pseudoconstant can be converted to options.
+ */
+ public function testPseudoConstants() {
+ $this->contributionPageCreate();
+ $metadata = \Civi\Core\SettingsMetadata::getMetadata(['name' => ['default_invoice_page']], NULL, TRUE);
+ $this->assertEquals('Test Contribution Page', $metadata['default_invoice_page']['options'][1]);
+ }
+
}