SearchKit - Expose default display to the UI
[civicrm-core.git] / ext / search_kit / tests / phpunit / api / v4 / SearchDisplay / SearchDisplayTest.php
1 <?php
2 namespace api\v4\SearchDisplay;
3
4 use Civi\Api4\SearchDisplay;
5 use Civi\Test\HeadlessInterface;
6 use Civi\Test\TransactionalInterface;
7
8 /**
9 * @group headless
10 */
11 class SearchDisplayTest extends \PHPUnit\Framework\TestCase implements HeadlessInterface, TransactionalInterface {
12
13 public function setUpHeadless() {
14 return \Civi\Test::headless()
15 ->installMe(__DIR__)
16 ->apply();
17 }
18
19 public function testGetDefault() {
20 $params = [
21 'api_entity' => 'Contact',
22 'api_params' => [
23 'version' => 4,
24 'select' => ['first_name', 'last_name', 'contact_sub_type:label', 'gender_id'],
25 'where' => [],
26 ],
27 ];
28 $display = SearchDisplay::getDefault(FALSE)
29 ->setSavedSearch($params)
30 ->addSelect('*', 'saved_search_id.api_entity', 'type:name')
31 ->execute()->single();
32
33 $this->assertCount(5, $display['settings']['columns']);
34 $this->assertEquals('Contacts', $display['label']);
35 $this->assertEquals('crm-search-display-table', $display['type:name']);
36 $this->assertEquals('Contact', $display['saved_search_id.api_entity']);
37 }
38
39 }