You are here

protected function EntityShareClientFunctionalTestBase::pullChannel in Entity Share 8.2

Same name and namespace in other branches
  1. 8.3 modules/entity_share_client/tests/src/Functional/EntityShareClientFunctionalTestBase.php \Drupal\Tests\entity_share_client\Functional\EntityShareClientFunctionalTestBase::pullChannel()

Helper function to import all channels.

Parameters

string $channel_id: The channel ID.

3 calls to EntityShareClientFunctionalTestBase::pullChannel()
MultilingualTest::testComparison in modules/entity_share_client/tests/src/Functional/MultilingualTest.php
Test state information.
MultilingualTest::testDefaultTranslationFirstPull in modules/entity_share_client/tests/src/Functional/MultilingualTest.php
Test pulling content in its default translation first.
MultilingualTest::testNonDefaultTranslationFirstPull in modules/entity_share_client/tests/src/Functional/MultilingualTest.php
Test pulling content NOT in its default translation first.

File

modules/entity_share_client/tests/src/Functional/EntityShareClientFunctionalTestBase.php, line 543

Class

EntityShareClientFunctionalTestBase
Base class for Entity share server functional tests.

Namespace

Drupal\Tests\entity_share_client\Functional

Code

protected function pullChannel($channel_id) {
  $channel_infos = $this->remoteManager
    ->getChannelsInfos($this->remote);
  $this->jsonapiHelper
    ->setRemote($this->remote);
  $http_client = $this->remoteManager
    ->prepareJsonApiClient($this->remote);
  $channel_url = $channel_infos[$channel_id]['url'];
  while ($channel_url) {
    $response = $this->requestService
      ->request($http_client, 'GET', $channel_url);
    $json = Json::decode((string) $response
      ->getBody());
    $this->jsonapiHelper
      ->importEntityListData(EntityShareUtility::prepareData($json['data']));
    if (isset($json['links']['next']['href'])) {
      $channel_url = $json['links']['next']['href'];
    }
    else {
      $channel_url = FALSE;
    }
  }
}