You are here

public function EntityShareServerFunctionalTest::testSearchConfiguration in Entity Share 8.3

Same name and namespace in other branches
  1. 8.2 modules/entity_share_server/tests/src/Functional/EntityShareServerFunctionalTest.php \Drupal\Tests\entity_share_server\Functional\EntityShareServerFunctionalTest::testSearchConfiguration()

Test that a channel provides correct search configuration.

File

modules/entity_share_server/tests/src/Functional/EntityShareServerFunctionalTest.php, line 709

Class

EntityShareServerFunctionalTest
General functional test class.

Namespace

Drupal\Tests\entity_share_server\Functional

Code

public function testSearchConfiguration() {

  // Create channels.
  $channel_storage = $this->entityTypeManager
    ->getStorage('channel');
  $es_test_en_channel = $channel_storage
    ->create([
    'id' => 'es_test_en',
    'label' => 'Entity share test en',
    'channel_entity_type' => 'node',
    'channel_bundle' => 'es_test',
    'channel_langcode' => 'en',
    'channel_searches' => [
      'field_es_test_taxonomy_entity_name' => [
        'path' => 'field_es_test_taxonomy.entity.name',
        'label' => 'Tag name',
      ],
    ],
    'authorized_users' => [
      $this->channelUser
        ->uuid(),
    ],
  ]);
  $es_test_en_channel
    ->save();
  $entity_share_entrypoint_url = Url::fromRoute('entity_share_server.resource_list');
  $response = $this
    ->request('GET', $entity_share_entrypoint_url, $this
    ->getAuthenticationRequestOptions($this->channelUser));
  $entity_share_endpoint_response = Json::decode((string) $response
    ->getBody());
  $expected_search_configuration = [
    'label' => [
      'path' => 'title',
      'label' => 'Label',
    ],
    'field_es_test_taxonomy_entity_name' => [
      'path' => 'field_es_test_taxonomy.entity.name',
      'label' => 'Tag name',
    ],
  ];
  $this
    ->assertEquals($entity_share_endpoint_response['data']['channels']['es_test_en']['search_configuration'], $expected_search_configuration, 'The expected search configuration had been found.');
}