1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace Drupal\KernelTests\Core\Action;
- use Drupal\Core\Action\Plugin\Action\Derivative\EntityChangedActionDeriver;
- use Drupal\entity_test\Entity\EntityTestMulChanged;
- use Drupal\KernelTests\KernelTestBase;
- use Drupal\system\Entity\Action;
- /**
- * @group Action
- */
- class SaveActionTest extends KernelTestBase {
- /**
- * {@inheritdoc}
- */
- public static $modules = ['system', 'entity_test', 'user'];
- /**
- * {@inheritdoc}
- */
- protected function setUp() {
- parent::setUp();
- $this->installEntitySchema('entity_test_mul_changed');
- }
- /**
- * @covers \Drupal\Core\Action\Plugin\Action\Derivative\EntityChangedActionDeriver::getDerivativeDefinitions
- */
- public function testGetDerivativeDefinitions() {
- $deriver = new EntityChangedActionDeriver(\Drupal::entityTypeManager(), \Drupal::translation());
- $this->assertArraySubset([
- 'entity_test_mul_changed' => [
- 'type' => 'entity_test_mul_changed',
- 'label' => 'Save test entity - data table',
- 'action_label' => 'Save',
- ],
- ], $deriver->getDerivativeDefinitions([
- 'action_label' => 'Save',
- ]));
- }
- /**
- * @covers \Drupal\Core\Action\Plugin\Action\SaveAction::execute
- */
- public function testSaveAction() {
- $entity = EntityTestMulChanged::create(['name' => 'test']);
- $entity->save();
- $saved_time = $entity->getChangedTime();
- $action = Action::create([
- 'id' => 'entity_save_action',
- 'plugin' => 'entity:save_action:entity_test_mul_changed',
- ]);
- $action->save();
- $action->execute([$entity]);
- $this->assertNotSame($saved_time, $entity->getChangedTime());
- $this->assertArraySubset(['module' => ['entity_test']], $action->getDependencies());
- }
- }
|