You are here

protected function JsonApiDocumentTopLevelNormalizerTest::setUp in Drupal 8

Same name in this branch
  1. 8 core/modules/jsonapi/tests/src/Unit/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php \Drupal\Tests\jsonapi\Unit\Normalizer\JsonApiDocumentTopLevelNormalizerTest::setUp()
  2. 8 core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php \Drupal\Tests\jsonapi\Kernel\Normalizer\JsonApiDocumentTopLevelNormalizerTest::setUp()

Overrides KernelTestBase::setUp

File

core/modules/jsonapi/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php, line 83

Class

JsonApiDocumentTopLevelNormalizerTest
@coversDefaultClass \Drupal\jsonapi\Normalizer\JsonApiDocumentTopLevelNormalizer @group jsonapi

Namespace

Drupal\Tests\jsonapi\Kernel\Normalizer

Code

protected function setUp() {
  parent::setUp();

  // Add the entity schemas.
  $this
    ->installEntitySchema('node');
  $this
    ->installEntitySchema('user');
  $this
    ->installEntitySchema('taxonomy_term');
  $this
    ->installEntitySchema('file');

  // Add the additional table schemas.
  $this
    ->installSchema('system', [
    'sequences',
  ]);
  $this
    ->installSchema('node', [
    'node_access',
  ]);
  $this
    ->installSchema('user', [
    'users_data',
  ]);
  $this
    ->installSchema('file', [
    'file_usage',
  ]);
  $type = NodeType::create([
    'type' => 'article',
  ]);
  $type
    ->save();
  $this
    ->createEntityReferenceField('node', 'article', 'field_tags', 'Tags', 'taxonomy_term', 'default', [
    'target_bundles' => [
      'tags',
    ],
  ], FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
  $this
    ->createTextField('node', 'article', 'body', 'Body');
  $this
    ->createImageField('field_image', 'article');
  $this->user = User::create([
    'name' => 'user1',
    'mail' => 'user@localhost',
  ]);
  $this->user2 = User::create([
    'name' => 'user2',
    'mail' => 'user2@localhost',
  ]);
  $this->user
    ->save();
  $this->user2
    ->save();
  $this->vocabulary = Vocabulary::create([
    'name' => 'Tags',
    'vid' => 'tags',
  ]);
  $this->vocabulary
    ->save();
  $this->term1 = Term::create([
    'name' => 'term1',
    'vid' => $this->vocabulary
      ->id(),
  ]);
  $this->term2 = Term::create([
    'name' => 'term2',
    'vid' => $this->vocabulary
      ->id(),
  ]);
  $this->term1
    ->save();
  $this->term2
    ->save();
  $this->file = File::create([
    'uri' => 'public://example.png',
    'filename' => 'example.png',
  ]);
  $this->file
    ->save();
  $this->node = Node::create([
    'title' => 'dummy_title',
    'type' => 'article',
    'uid' => 1,
    'body' => [
      'format' => 'plain_text',
      'value' => $this
        ->randomStringValidate(42),
    ],
    'field_tags' => [
      [
        'target_id' => $this->term1
          ->id(),
      ],
      [
        'target_id' => $this->term2
          ->id(),
      ],
    ],
    'field_image' => [
      [
        'target_id' => $this->file
          ->id(),
        'alt' => 'test alt',
        'title' => 'test title',
        'width' => 10,
        'height' => 11,
      ],
    ],
  ]);
  $this->node
    ->save();
  $this->nodeType = NodeType::load('article');
  Role::create([
    'id' => RoleInterface::ANONYMOUS_ID,
    'permissions' => [
      'access content',
    ],
  ])
    ->save();
  $this->includeResolver = $this->container
    ->get('jsonapi.include_resolver');
}