123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace Drupal\Tests\node\Functional;
- use Drupal\Tests\BrowserTestBase;
- /**
- * Tests updating the changed time after API and FORM entity save.
- *
- * @group node
- */
- class NodeFormSaveChangedTimeTest extends BrowserTestBase {
- /**
- * Modules to enable.
- *
- * @var array
- */
- public static $modules = [
- 'node',
- ];
- /**
- * An user with permissions to create and edit articles.
- *
- * @var \Drupal\user\UserInterface
- */
- protected $authorUser;
- /**
- * {@inheritdoc}
- */
- protected function setUp() {
- parent::setUp();
- // Create a node type.
- $this->drupalCreateContentType([
- 'type' => 'article',
- 'name' => 'Article',
- ]);
- $this->authorUser = $this->drupalCreateUser(['access content', 'create article content', 'edit any article content'], 'author');
- $this->drupalLogin($this->authorUser);
- // Create one node of the above node type .
- $this->drupalCreateNode([
- 'type' => 'article',
- ]);
- }
- /**
- * Test the changed time after API and FORM save without changes.
- */
- public function testChangedTimeAfterSaveWithoutChanges() {
- $storage = $this->container->get('entity_type.manager')->getStorage('node');
- $storage->resetCache([1]);
- $node = $storage->load(1);
- $changed_timestamp = $node->getChangedTime();
- $node->save();
- $storage->resetCache([1]);
- $node = $storage->load(1);
- $this->assertEqual($changed_timestamp, $node->getChangedTime(), "The entity's changed time wasn't updated after API save without changes.");
- // Ensure different save timestamps.
- sleep(1);
- // Save the node on the regular node edit form.
- $this->drupalPostForm('node/1/edit', [], t('Save'));
- $storage->resetCache([1]);
- $node = $storage->load(1);
- $this->assertNotEqual($changed_timestamp, $node->getChangedTime(), "The entity's changed time was updated after form save without changes.");
- }
- }
|