public function BlockContentSaveTest::testDeterminingChanges in Drupal 9
Same name and namespace in other branches
- 8 core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php \Drupal\Tests\block_content\Functional\BlockContentSaveTest::testDeterminingChanges()
Tests determining changes in hook_block_presave().
Verifies the static block load cache is cleared upon save.
File
- core/
modules/ block_content/ tests/ src/ Functional/ BlockContentSaveTest.php, line 70
Class
- BlockContentSaveTest
- Tests $block_content->save() for saving content.
Namespace
Drupal\Tests\block_content\FunctionalCode
public function testDeterminingChanges() {
// Initial creation.
$block = $this
->createBlockContent('test_changes');
$this
->assertEquals(REQUEST_TIME, $block
->getChangedTime(), 'Creating a block sets default "changed" timestamp.');
// Update the block without applying changes.
$block
->save();
$this
->assertEquals('test_changes', $block
->label(), 'No changes have been determined.');
// Apply changes.
$block
->setInfo('updated');
$block
->save();
// The hook implementations block_content_test_block_content_presave() and
// block_content_test_block_content_update() determine changes and change
// the title as well as programmatically set the 'changed' timestamp.
$this
->assertEquals('updated_presave_update', $block
->label(), 'Changes have been determined.');
$this
->assertEquals(979534800, $block
->getChangedTime(), 'Saving a custom block uses "changed" timestamp set in presave hook.');
// Test the static block load cache to be cleared.
$block = BlockContent::load($block
->id());
$this
->assertEquals('updated_presave', $block
->label(), 'Static cache has been cleared.');
}