function WorkspaceIntegrationTest::testDisallowedEntityCreateInNonDefaultWorkspace

Same name and namespace in other branches
  1. 9 core/modules/workspaces/tests/src/Kernel/WorkspaceIntegrationTest.php \Drupal\Tests\workspaces\Kernel\WorkspaceIntegrationTest::testDisallowedEntityCreateInNonDefaultWorkspace()
  2. 8.9.x core/modules/workspaces/tests/src/Kernel/WorkspaceIntegrationTest.php \Drupal\Tests\workspaces\Kernel\WorkspaceIntegrationTest::testDisallowedEntityCreateInNonDefaultWorkspace()
  3. 11.x core/modules/workspaces/tests/src/Kernel/WorkspaceIntegrationTest.php \Drupal\Tests\workspaces\Kernel\WorkspaceIntegrationTest::testDisallowedEntityCreateInNonDefaultWorkspace()

Tests CREATE operations for unsupported entity types.

@dataProvider providerTestAllowedEntityCrudInNonDefaultWorkspace

File

core/modules/workspaces/tests/src/Kernel/WorkspaceIntegrationTest.php, line 677

Class

WorkspaceIntegrationTest
Tests a complete publishing scenario across different workspaces.

Namespace

Drupal\Tests\workspaces\Kernel

Code

public function testDisallowedEntityCreateInNonDefaultWorkspace($entity_type_id, $allowed) : void {
  $this->initializeWorkspacesModule();
  /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
  $storage = $this->entityTypeManager
    ->getStorage($entity_type_id);
  // Switch to a non-default workspace and check whether creating a new entity
  // is allowed.
  $this->switchToWorkspace('stage');
  $entity = $storage->createWithSampleValues($entity_type_id);
  if ($entity_type_id === 'workspace') {
    $entity->id = 'test';
  }
  if (!$allowed) {
    $this->expectException(EntityStorageException::class);
    $this->expectExceptionMessage("The \"{$entity_type_id}\" entity type can only be saved in the default workspace.");
  }
  $entity->save();
}

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