function IdConflictTest::testMigrateUpgradeExecute

Same name in this branch
  1. 8.9.x core/modules/migrate_drupal_ui/tests/src/Functional/d7/IdConflictTest.php \Drupal\Tests\migrate_drupal_ui\Functional\d7\IdConflictTest::testMigrateUpgradeExecute()

Tests ID Conflict form.

Overrides MigrateUpgradeExecuteTestBase::testMigrateUpgradeExecute

File

core/modules/migrate_drupal_ui/tests/src/Functional/d6/IdConflictTest.php, line 73

Class

IdConflictTest
Tests Drupal 6 Id Conflict page.

Namespace

Drupal\Tests\migrate_drupal_ui\Functional\d6

Code

public function testMigrateUpgradeExecute() {
    $connection_options = $this->sourceDatabase
        ->getConnectionOptions();
    $this->drupalGet('/upgrade');
    $session = $this->assertSession();
    $session->responseContains("Upgrade a site by importing its files and the data from its database into a clean and empty new install of Drupal {$this->destinationSiteVersion}.");
    $this->drupalPostForm(NULL, [], t('Continue'));
    $session->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.');
    $session->fieldExists('mysql[host]');
    $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,
    ];
    $edit['d6_source_base_path'] = $this->getSourceBasePath();
    if (count($drivers) !== 1) {
        $edit['driver'] = $driver;
    }
    $edits = $this->translatePostValues($edit);
    // Start the upgrade process.
    $this->drupalGet('/upgrade');
    $session->responseContains("Upgrade a site by importing its files and the data from its database into a clean and empty new install of Drupal {$this->destinationSiteVersion}.");
    $this->drupalPostForm(NULL, [], t('Continue'));
    $session->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.');
    $session->fieldExists('mysql[host]');
    $this->drupalPostForm(NULL, $edits, t('Review upgrade'));
    $entity_types = [
        'block_content',
        'menu_link_content',
        'file',
        'taxonomy_term',
        'user',
        'comment',
        'node',
    ];
    $this->assertIdConflict($session, $entity_types);
}

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