function NodeCreationTest::testNodeAddWithoutContentTypes

Same name and namespace in other branches
  1. 9 core/modules/node/tests/src/Functional/NodeCreationTest.php \Drupal\Tests\node\Functional\NodeCreationTest::testNodeAddWithoutContentTypes()
  2. 8.9.x core/modules/node/tests/src/Functional/NodeCreationTest.php \Drupal\Tests\node\Functional\NodeCreationTest::testNodeAddWithoutContentTypes()
  3. 10 core/modules/node/tests/src/Functional/NodeCreationTest.php \Drupal\Tests\node\Functional\NodeCreationTest::testNodeAddWithoutContentTypes()

Check node/add when no node types exist.

File

core/modules/node/tests/src/Functional/NodeCreationTest.php, line 290

Class

NodeCreationTest
Create a node and test saving it.

Namespace

Drupal\Tests\node\Functional

Code

public function testNodeAddWithoutContentTypes() : void {
  $this->drupalGet('node/add');
  $this->assertSession()
    ->statusCodeEquals(200);
  $this->assertSession()
    ->linkByHrefNotExists('/admin/structure/types/add');
  // Test /node/add page without content types.
  foreach (\Drupal::entityTypeManager()->getStorage('node_type')
    ->loadMultiple() as $entity) {
    $entity->delete();
  }
  $this->drupalGet('node/add');
  $this->assertSession()
    ->statusCodeEquals(403);
  $admin_content_types = $this->drupalCreateUser([
    'administer content types',
  ]);
  $this->drupalLogin($admin_content_types);
  $this->drupalGet('node/add');
  $this->assertSession()
    ->linkByHrefExists('/admin/structure/types/add');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.