execute() ->indexBy('name'); $this->assertArrayHasKey('Entity', $result, "Entity::get missing itself"); $this->assertArrayHasKey('Participant', $result, "Entity::get missing Participant"); } public function testEntity() { $result = Entity::getActions(FALSE) ->execute() ->indexBy('name'); $this->assertNotContains( 'create', array_keys((array) $result), "Entity entity has more than basic actions"); } public function testEntityComponent() { \CRM_Core_BAO_ConfigSetting::disableComponent('CiviEvent'); $result = Entity::get(FALSE) ->execute() ->indexBy('name'); $this->assertArrayNotHasKey('Participant', $result, "Entity::get should not have Participant when CiviEvent disabled"); // Trying to use a CiviEvent API will fail when component is disabled try { \Civi\Api4\Participant::get(FALSE)->execute(); $this->fail(); } catch (NotImplementedException $e) { $this->assertStringContainsString('CiviEvent', $e->getMessage()); } \CRM_Core_BAO_ConfigSetting::enableComponent('CiviEvent'); $result = Entity::get(FALSE) ->execute() ->indexBy('name'); $this->assertArrayHasKey('Participant', $result, "Entity::get should have Participant when CiviEvent enabled"); } }