function NodeFormSaveChangedTimeTest::testChangedTimeAfterSaveWithoutChanges

Same name in other branches
  1. 9 core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php \Drupal\Tests\node\Functional\NodeFormSaveChangedTimeTest::testChangedTimeAfterSaveWithoutChanges()
  2. 10 core/modules/node/tests/src/Functional/NodeFormSaveChangedTimeTest.php \Drupal\Tests\node\Functional\NodeFormSaveChangedTimeTest::testChangedTimeAfterSaveWithoutChanges()
  3. 11.x 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.");
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.