* true if valid component name and enabling succeeds, else false
*/
public static function enableComponent($componentName) {
- $config = CRM_Core_Config::singleton();
- if (in_array($componentName, $config->enableComponents)) {
+ $enabledComponents = Civi::settings()->get('enable_components');
+ if (in_array($componentName, $enabledComponents)) {
// component is already enabled
return TRUE;
}
}
// get enabled-components from DB and add to the list
- $enabledComponents = Civi::settings()->get('enable_components');
$enabledComponents[] = $componentName;
-
self::setEnabledComponents($enabledComponents);
return TRUE;
}
+ /**
+ * Ensure all components are enabled
+ * @throws CRM_Core_Exception
+ */
+ public static function enableAllComponents() {
+ $allComponents = array_keys(CRM_Core_Component::getComponents());
+ if (Civi::settings()->get('enable_components') != $allComponents) {
+ self::setEnabledComponents($allComponents);
+ }
+ }
+
/**
* Disable specified component.
*
*/
public function setUp(): void {
parent::setUp();
+ \CRM_Core_BAO_ConfigSetting::enableComponent('CiviMember');
+ \CRM_Core_BAO_ConfigSetting::enableComponent('CiviCampaign');
$params = [
'contact_type_a' => 'Individual',
* Set up baseline for testing
*/
public function setUp(): void {
+ // Enable all components
+ \CRM_Core_BAO_ConfigSetting::enableAllComponents();
$this->setUpOptionCleanup();
$this->loadDataSet('CaseType');
$this->loadDataSet('ConformanceTest');