public function MigrateUpgradeExecuteTestBase::testMigrateUpgradeExecute in Commerce Migrate 3.0.x
Same name and namespace in other branches
- 8.2 modules/ubercart/tests/src/Functional/MigrateUpgradeExecuteTestBase.php \Drupal\Tests\commerce_migrate_ubercart\Functional\MigrateUpgradeExecuteTestBase::testMigrateUpgradeExecute()
- 3.1.x modules/ubercart/tests/src/Functional/MigrateUpgradeExecuteTestBase.php \Drupal\Tests\commerce_migrate_ubercart\Functional\MigrateUpgradeExecuteTestBase::testMigrateUpgradeExecute()
Executes all steps of migrations upgrade.
File
- modules/
ubercart/ tests/ src/ Functional/ MigrateUpgradeExecuteTestBase.php, line 30
Class
- MigrateUpgradeExecuteTestBase
- Base class for testing a migration run with the UI.
Namespace
Drupal\Tests\commerce_migrate_ubercart\FunctionalCode
public function testMigrateUpgradeExecute() {
$connection_options = $this->sourceDatabase
->getConnectionOptions();
$session = $this
->assertSession();
$driver = $connection_options['driver'];
$connection_options['prefix'] = $connection_options['prefix']['default'];
// Use the driver connection form to get the correct options out of the
// database settings. This supports all of the databases we test against.
$drivers = drupal_get_database_types();
$form = $drivers[$driver]
->getFormOptions($connection_options);
$connection_options = array_intersect_key($connection_options, $form + $form['advanced_options']);
$version = $this
->getLegacyDrupalVersion($this->sourceDatabase);
$edit = [
$driver => $connection_options,
'source_private_file_path' => $this
->getSourceBasePath(),
'version' => $version,
];
if ($version == 6) {
$edit['d6_source_base_path'] = $this
->getSourceBasePath();
}
else {
$edit['source_base_path'] = $this
->getSourceBasePath();
}
if (count($drivers) !== 1) {
$edit['driver'] = $driver;
}
$edits = $this
->translatePostValues($edit);
// Start the upgrade process.
$this
->drupalGet('/upgrade');
$this
->drupalPostForm(NULL, [], 'Continue');
$session
->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.');
$session
->fieldExists('mysql[host]');
$this
->drupalPostForm(NULL, $edits, 'Review upgrade');
$session
->statusCodeEquals(200);
$this
->drupalPostForm(NULL, [], 'I acknowledge I may lose data. Continue anyway.');
$session
->statusCodeEquals(200);
$this
->drupalPostForm(NULL, [], 'Perform upgrade');
$session
->pageTextContains('Congratulations, you upgraded Drupal!');
$this
->assertMigrationResults($this
->getEntityCounts(), $version);
}