public function DeleteActionTest::testAction in Entity API 8.0
File
- tests/
src/ Kernel/ DeleteActionTest.php, line 60 - Contains \Drupal\Tests\entity\Kernel\DeleteActionTest.
Class
- DeleteActionTest
- Tests the delete entity action. @group entity
Namespace
Drupal\Tests\entity\KernelCode
public function testAction() {
/** @var \Drupal\system\ActionConfigEntityInterface $action */
$action = Action::create([
'id' => 'enhanced_entity_delete_action',
'label' => 'Delete enhanced entity',
'plugin' => 'entity_delete_action:entity_test_enhanced',
]);
$status = $action
->save();
$this
->assertEquals(SAVED_NEW, $status);
$this
->assertInstanceOf(DeleteAction::class, $action
->getPlugin());
$entities = [];
for ($i = 0; $i < 2; $i++) {
$entity = EnhancedEntity::create([
'type' => 'default',
]);
$entity
->save();
$entities[$entity
->id()] = $entity;
}
$action
->execute($entities);
// Confirm that the entity ids and langcodes are now in the tempstore.
$tempstore = \Drupal::service('user.private_tempstore')
->get('entity_delete_multiple_confirm');
$selection = $tempstore
->get($this->user
->id());
$this
->assertEquals(array_keys($entities), array_keys($selection));
$this
->assertEquals([
[
'en' => 'en',
],
[
'en' => 'en',
],
], array_values($selection));
}