You are here

public function NodeFormSaveChangedTimeTest::testChangedTimeAfterSaveWithoutChanges in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php \Drupal\Tests\node\Functional\NodeFormSaveChangedTimeTest::testChangedTimeAfterSaveWithoutChanges()

Test the changed time after API and FORM save without changes.

File

core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php, line 63

Class

NodeFormSaveChangedTimeTest
Tests updating the changed time after API and FORM entity save.

Namespace

Drupal\Tests\node\Functional

Code

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.");
}