public function WorkspaceIntegrationTest::testDisallowedEntityDeleteInNonDefaultWorkspace in Drupal 9
Same name and namespace in other branches
- 8 core/modules/workspaces/tests/src/Kernel/WorkspaceIntegrationTest.php \Drupal\Tests\workspaces\Kernel\WorkspaceIntegrationTest::testDisallowedEntityDeleteInNonDefaultWorkspace()
 
Tests DELETE operations for unsupported entity types.
@dataProvider providerTestAllowedEntityCrudInNonDefaultWorkspace
File
- core/
modules/ workspaces/ tests/ src/ Kernel/ WorkspaceIntegrationTest.php, line 652  
Class
- WorkspaceIntegrationTest
 - Tests a complete publishing scenario across different workspaces.
 
Namespace
Drupal\Tests\workspaces\KernelCode
public function testDisallowedEntityDeleteInNonDefaultWorkspace($entity_type_id, $allowed) {
  $this
    ->initializeWorkspacesModule();
  /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
  $storage = $this->entityTypeManager
    ->getStorage($entity_type_id);
  // Create the entity in the default workspace.
  $this->workspaceManager
    ->switchToLive();
  $entity = $storage
    ->createWithSampleValues($entity_type_id);
  if ($entity_type_id === 'workspace') {
    $entity->id = 'test';
  }
  $entity
    ->save();
  // Switch to a non-default workspace and check whether deleting the entity
  // is allowed.
  $this
    ->switchToWorkspace('stage');
  if (!$allowed) {
    $this
      ->expectException(EntityStorageException::class);
    $this
      ->expectExceptionMessage('This entity can only be deleted in the default workspace.');
  }
  $entity
    ->delete();
}