From 8a7453b1fa78d6de93cd1788db541503b353b787 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Mon, 10 Apr 2023 21:31:59 -0400 Subject: [PATCH] Add test for component-extension lifecycle --- tests/phpunit/CRM/Extension/ManagerTest.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/phpunit/CRM/Extension/ManagerTest.php b/tests/phpunit/CRM/Extension/ManagerTest.php index c85a5e5c11..89d3508790 100644 --- a/tests/phpunit/CRM/Extension/ManagerTest.php +++ b/tests/phpunit/CRM/Extension/ManagerTest.php @@ -467,6 +467,18 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase { $this->assertDBQuery('newextension', 'SELECT file FROM civicrm_extension WHERE full_name ="test.whiz.bang"'); } + public function testComponentExtensionSync() { + CRM_Core_BAO_ConfigSetting::enableComponent('CiviCampaign'); + $this->assertEquals(CRM_Extension_Manager::STATUS_INSTALLED, CRM_Extension_System::singleton()->getManager()->getStatus('civi_campaign')); + CRM_Core_BAO_ConfigSetting::disableComponent('CiviCampaign'); + $this->assertEquals(CRM_Extension_Manager::STATUS_DISABLED, CRM_Extension_System::singleton()->getManager()->getStatus('civi_campaign')); + $this->assertFalse(CRM_Core_Component::isEnabled('CiviCampaign')); + CRM_Extension_System::singleton()->getManager()->install('civi_campaign'); + $this->assertTrue(CRM_Core_Component::isEnabled('CiviCampaign')); + CRM_Extension_System::singleton()->getManager()->disable('civi_campaign'); + $this->assertFalse(CRM_Core_Component::isEnabled('CiviCampaign')); + } + /** * Install a module and then delete (leaving stale DB info); restore * the module by downloading new code. -- 2.25.1