X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Ftests%2FDrupal%2FKernelTests%2FCore%2FAction%2FDeleteActionTest.php;fp=web%2Fcore%2Ftests%2FDrupal%2FKernelTests%2FCore%2FAction%2FDeleteActionTest.php;h=e5a2bd95dab783732ec16fe21d7b4fd85d82e732;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/tests/Drupal/KernelTests/Core/Action/DeleteActionTest.php b/web/core/tests/Drupal/KernelTests/Core/Action/DeleteActionTest.php new file mode 100644 index 000000000..e5a2bd95d --- /dev/null +++ b/web/core/tests/Drupal/KernelTests/Core/Action/DeleteActionTest.php @@ -0,0 +1,85 @@ +installEntitySchema('entity_test_mulrevpub'); + $this->installEntitySchema('user'); + $this->installSchema('system', ['sequences', 'key_value_expire']); + + $this->testUser = User::create([ + 'name' => 'foobar', + 'mail' => 'foobar@example.com', + ]); + $this->testUser->save(); + \Drupal::service('current_user')->setAccount($this->testUser); + } + + /** + * @covers \Drupal\Core\Action\Plugin\Action\Derivative\EntityDeleteActionDeriver::getDerivativeDefinitions + */ + public function testGetDerivativeDefinitions() { + $deriver = new EntityDeleteActionDeriver(\Drupal::entityTypeManager(), \Drupal::translation()); + $this->assertEquals([ + 'entity_test_mulrevpub' => [ + 'type' => 'entity_test_mulrevpub', + 'label' => 'Delete test entity - revisions, data table, and published interface', + 'action_label' => 'Delete', + 'confirm_form_route_name' => 'entity.entity_test_mulrevpub.delete_multiple_form', + ], + 'entity_test_rev' => [ + 'type' => 'entity_test_rev', + 'label' => 'Delete test entity - revisions', + 'action_label' => 'Delete', + 'confirm_form_route_name' => 'entity.entity_test_rev.delete_multiple_form', + ], + ], $deriver->getDerivativeDefinitions([ + 'action_label' => 'Delete', + ])); + } + + /** + * @covers \Drupal\Core\Action\Plugin\Action\DeleteAction::execute + */ + public function testDeleteAction() { + $entity = EntityTestMulRevPub::create(['name' => 'test']); + $entity->save(); + + $action = Action::create([ + 'id' => 'entity_delete_action', + 'plugin' => 'entity:delete_action:entity_test_mulrevpub', + ]); + $action->save(); + + $action->execute([$entity]); + $this->assertArraySubset(['module' => ['entity_test']], $action->getDependencies()); + + /** @var \Drupal\Core\TempStore\PrivateTempStoreFactory $temp_store */ + $temp_store = \Drupal::service('tempstore.private'); + $store_entries = $temp_store->get('entity_delete_multiple_confirm')->get($this->testUser->id() . ':entity_test_mulrevpub'); + $this->assertArraySubset([$this->testUser->id() => ['en' => 'en']], $store_entries); + } + +}