You are here

public function SubrequestsManagerTest::testRequest in Subrequests 8.2

Same name and namespace in other branches
  1. 3.x tests/src/Unit/SubrequestsManagerTest.php \Drupal\Tests\subrequests\Unit\SubrequestsManagerTest::testRequest()

@covers ::request

File

tests/src/Unit/SubrequestsManagerTest.php, line 63

Class

SubrequestsManagerTest
@coversDefaultClass \Drupal\subrequests\SubrequestsManager @group subrequests

Namespace

Drupal\Tests\subrequests\Unit

Code

public function testRequest() {

  // Create and populate a tree.
  $tree = new SubrequestsTree();
  $subrequests[] = new Subrequest([
    'uri' => 'lorem',
    'action' => 'view',
    'requestId' => 'foo',
    'headers' => [],
    'waitFor' => [
      '<ROOT>',
    ],
    '_resolved' => FALSE,
    'body' => 'bar',
  ]);
  $subrequests[] = new Subrequest([
    'uri' => 'ipsum',
    'action' => 'sing',
    'requestId' => 'oop',
    'headers' => [],
    '_resolved' => FALSE,
    'body' => [],
    'waitFor' => [
      'foo',
    ],
  ]);
  $subrequests[] = new Subrequest([
    'uri' => 'dolor',
    'action' => 'create',
    'requestId' => 'oof',
    'headers' => [],
    '_resolved' => FALSE,
    'body' => 'bar',
    'waitFor' => [
      'foo',
    ],
  ]);
  $tree
    ->stack([
    $subrequests[0],
  ]);
  $tree
    ->stack([
    $subrequests[1],
    $subrequests[2],
  ]);
  $tree
    ->setMasterRequest(new Request());
  $actual = $this->sut
    ->request($tree);
  $this
    ->assertSame('<foo>', $actual[0]->headers
    ->get('Content-ID'));
  $this
    ->assertSame('<oop>', $actual[1]->headers
    ->get('Content-ID'));
  $this
    ->assertSame('<oof>', $actual[2]->headers
    ->get('Content-ID'));
  $this
    ->assertSame('/lorem', $actual[0]
    ->getContent());
  $this
    ->assertSame('/ipsum', $actual[1]
    ->getContent());
  $this
    ->assertSame('/dolor', $actual[2]
    ->getContent());
}