You are here

protected function ContentTypeCreationTrait::createContentType in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/node/tests/src/Traits/ContentTypeCreationTrait.php \Drupal\Tests\node\Traits\ContentTypeCreationTrait::createContentType()

Creates a custom content type based on default settings.

Parameters

array $values: An array of settings to change from the defaults. Example: 'type' => 'foo'.

Return value

\Drupal\node\Entity\NodeType Created content type.

289 calls to ContentTypeCreationTrait::createContentType()
AggregatorTestBase::setUp in core/modules/aggregator/tests/src/Functional/AggregatorTestBase.php
BasicTest::testViewsWizardAndListing in core/modules/views/tests/src/Functional/Wizard/BasicTest.php
BigPipeRegressionTest::testCommentForm_2698811 in core/modules/big_pipe/tests/src/FunctionalJavascript/BigPipeRegressionTest.php
Ensure comment form works with history and big_pipe modules.
BlockExposedFilterAJAXTest::setUp in core/modules/views/tests/src/FunctionalJavascript/BlockExposedFilterAJAXTest.php
BookTest::testBookNavigationCacheContext in core/modules/book/tests/src/Functional/BookTest.php
Tests the book navigation cache context.

... See full list

1 method overrides ContentTypeCreationTrait::createContentType()
WorkspacesContentModerationStateTest::createContentType in core/modules/content_moderation/tests/src/Kernel/WorkspacesContentModerationStateTest.php
Creates a custom content type based on default settings.

File

core/modules/node/tests/src/Traits/ContentTypeCreationTrait.php, line 26

Class

ContentTypeCreationTrait
Provides methods to create content type from given values.

Namespace

Drupal\Tests\node\Traits

Code

protected function createContentType(array $values = []) {

  // Find a non-existent random type name.
  if (!isset($values['type'])) {
    do {
      $id = strtolower($this
        ->randomMachineName(8));
    } while (NodeType::load($id));
  }
  else {
    $id = $values['type'];
  }
  $values += [
    'type' => $id,
    'name' => $id,
  ];
  $type = NodeType::create($values);
  $status = $type
    ->save();
  node_add_body_field($type);
  if ($this instanceof TestCase) {
    $this
      ->assertSame($status, SAVED_NEW, (new FormattableMarkup('Created content type %type.', [
      '%type' => $type
        ->id(),
    ]))
      ->__toString());
  }
  else {
    $this
      ->assertEquals(SAVED_NEW, $status, (new FormattableMarkup('Created content type %type.', [
      '%type' => $type
        ->id(),
    ]))
      ->__toString());
  }
  return $type;
}