You are here

public function BlockContentIntegrationTest::testBlockContentViewTypeArgument in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block_content/tests/src/Functional/Views/BlockContentIntegrationTest.php \Drupal\Tests\block_content\Functional\Views\BlockContentIntegrationTest::testBlockContentViewTypeArgument()
  2. 10 core/modules/block_content/tests/src/Functional/Views/BlockContentIntegrationTest.php \Drupal\Tests\block_content\Functional\Views\BlockContentIntegrationTest::testBlockContentViewTypeArgument()

Tests basic block_content view with a block_content_type argument.

File

core/modules/block_content/tests/src/Functional/Views/BlockContentIntegrationTest.php, line 27

Class

BlockContentIntegrationTest
Tests the block_content integration into views.

Namespace

Drupal\Tests\block_content\Functional\Views

Code

public function testBlockContentViewTypeArgument() {

  // Create two content types with three block_contents each.
  $types = [];
  $all_ids = [];
  $block_contents = [];
  for ($i = 0; $i < 2; $i++) {
    $type = $this
      ->createBlockContentType();
    $types[] = $type;
    for ($j = 0; $j < 5; $j++) {

      // Ensure the right order of the block_contents.
      $block_content = $this
        ->createBlockContent([
        'type' => $type
          ->id(),
      ]);
      $block_contents[$type
        ->id()][$block_content
        ->id()] = $block_content;
      $all_ids[] = $block_content
        ->id();
    }
  }
  $this
    ->drupalGet('test-block_content-view');
  $this
    ->assertSession()
    ->statusCodeEquals(404);
  $this
    ->drupalGet('test-block_content-view/all');
  $this
    ->assertSession()
    ->statusCodeEquals(200);
  $this
    ->assertIds($all_ids);

  /* @var \Drupal\block_content\Entity\BlockContentType[] $types*/
  foreach ($types as $type) {
    $this
      ->drupalGet("test-block_content-view/{$type->id()}");
    $this
      ->assertIds(array_keys($block_contents[$type
      ->id()]));
  }
}