Tests an upgrade with all non-required modules installed but disabled.
public function testDisabledUpgrade() {
$this
->assertTrue($this
->performUpgrade(), 'The upgrade was completed successfully.');
// Get enabled modules.
$enabled = \Drupal::moduleHandler()
->getModuleList();
// Get all available modules.
$available = system_rebuild_module_data();
// Filter out hidden test modules.
foreach ($available as $module => $data) {
if (!empty($data->info['hidden'])) {
unset($available[$module]);
}
}
$to_enable = array_diff_key($available, $enabled);
module_enable(array_keys($to_enable));
// Check for updates.
require_once DRUPAL_ROOT . '/core/includes/update.inc';
require_once DRUPAL_ROOT . '/core/includes/install.inc';
$updates = update_get_update_list();
$this
->assertEqual($updates, array(), 'No pending updates after enabling all modules.');
$this
->assertTrue(\Drupal::state()
->get('update_test_1_update_dependencies_run'), 'Module update dependencies resolved for disabled modules');
}