assertInstanceOf('Civi\Api4\Generic\Result', $resultByName); $this->assertEquals('get', $resultByName['get']['name']); // Get result at index 0 $firstResult = civicrm_api4('Activity', 'getActions', [], 0); $this->assertInstanceOf('Civi\Api4\Generic\Result', $firstResult); $this->assertArrayHasKey('name', $firstResult); $this->assertEquals($resultByName->first(), (array) $firstResult); } public function testBadIndexInt() { $error = ''; try { civicrm_api4('Activity', 'getActions', [], 99); } catch (\API_Exception $e) { $error = $e->getMessage(); } $this->assertContains('not found', $error); } public function testBadIndexString() { $error = ''; try { civicrm_api4('Activity', 'getActions', [], 'xyz'); } catch (\API_Exception $e) { $error = $e->getMessage(); } $this->assertContains('not found', $error); } public function testIndexWithSelect() { $result = civicrm_api4('Activity', 'getFields', ['select' => ['title'], 'where' => [['name', '=', 'subject']]], 'name'); $this->assertEquals(['subject' => ['title' => 'Subject']], (array) $result); } public function testArrayIndex() { // Non-associative $result = civicrm_api4('Activity', 'getFields', ['where' => [['name', '=', 'subject']]], ['name' => 'title']); $this->assertEquals(['subject' => 'Subject'], (array) $result); // Associative $result = civicrm_api4('Activity', 'getFields', ['where' => [['name', '=', 'subject']]], ['title']); $this->assertEquals(['Subject'], (array) $result); } }