public function UpdatePostUpdateTest::testPostUpdate in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/Tests/Update/UpdatePostUpdateTest.php \Drupal\system\Tests\Update\UpdatePostUpdateTest::testPostUpdate()
Tests hook_post_update_NAME().
File
- core/
modules/ system/ src/ Tests/ Update/ UpdatePostUpdateTest.php, line 43 - Contains \Drupal\system\Tests\Update\UpdatePostUpdateTest.
Class
- UpdatePostUpdateTest
- Tests hook_post_update().
Namespace
Drupal\system\Tests\UpdateCode
public function testPostUpdate() {
$this
->runUpdates();
$this
->assertRaw('<h3>Update first</h3>');
$this
->assertRaw('First update');
$this
->assertRaw('<h3>Update second</h3>');
$this
->assertRaw('Second update');
$this
->assertRaw('<h3>Update test1</h3>');
$this
->assertRaw('Test1 update');
$this
->assertRaw('<h3>Update test0</h3>');
$this
->assertRaw('Test0 update');
$this
->assertRaw('<h3>Update test_batch</h3>');
$this
->assertRaw('Test post update batches');
// Test state value set by each post update.
$updates = [
'update_test_postupdate_post_update_first',
'update_test_postupdate_post_update_second',
'update_test_postupdate_post_update_test0',
'update_test_postupdate_post_update_test1',
'update_test_postupdate_post_update_test_batch-1',
'update_test_postupdate_post_update_test_batch-2',
'update_test_postupdate_post_update_test_batch-3',
];
$this
->assertIdentical($updates, \Drupal::state()
->get('post_update_test_execution', []));
// Test post_update key value stores contains a list of the update functions
// that have run.
$existing_updates = array_count_values(\Drupal::keyValue('post_update')
->get('existing_updates'));
$expected_updates = [
'update_test_postupdate_post_update_first',
'update_test_postupdate_post_update_second',
'update_test_postupdate_post_update_test1',
'update_test_postupdate_post_update_test0',
'update_test_postupdate_post_update_test_batch',
];
foreach ($expected_updates as $expected_update) {
$this
->assertEqual($existing_updates[$expected_update], 1, new FormattableMarkup("@expected_update exists in 'existing_updates' key and only appears once.", [
'@expected_update' => $expected_update,
]));
}
$this
->drupalGet('update.php/selection');
$this
->assertText('No pending updates.');
}