class MultilingualReviewPageTestBase
Same name and namespace in other branches
- 11.x core/modules/migrate_drupal_ui/tests/src/Functional/MultilingualReviewPageTestBase.php \Drupal\Tests\migrate_drupal_ui\Functional\MultilingualReviewPageTestBase
Provides a base class for testing the review step of the Upgrade form.
When using this test class, enable translation modules.
Hierarchy
- class \Drupal\Tests\BrowserTestBase uses \Drupal\Core\Test\FunctionalTestSetupTrait, \Drupal\Tests\UiHelperTrait, \Drupal\Core\Test\TestSetupTrait, \Drupal\Tests\block\Traits\BlockCreationTrait, \Drupal\FunctionalTests\AssertLegacyTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\node\Traits\NodeCreationTrait, \Drupal\Tests\node\Traits\ContentTypeCreationTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\user\Traits\UserCreationTrait, \Drupal\Tests\XdebugRequestTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\ExtensionListTestTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeTestBase uses \Drupal\migrate_drupal\MigrationConfigurationTrait implements \Drupal\Tests\BrowserTestBase
- class \Drupal\Tests\migrate_drupal_ui\Functional\MultilingualReviewPageTestBase uses \Drupal\Tests\migrate_drupal\Traits\CreateTestContentEntitiesTrait implements \Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeTestBase
- class \Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeTestBase uses \Drupal\migrate_drupal\MigrationConfigurationTrait implements \Drupal\Tests\BrowserTestBase
Expanded class hierarchy of MultilingualReviewPageTestBase
4 files declare their use of MultilingualReviewPageTestBase
- MultilingualReviewPageTest.php in core/
modules/ migrate_drupal_ui/ tests/ src/ Functional/ d6/ MultilingualReviewPageTest.php - MultilingualReviewPageTest.php in core/
modules/ migrate_drupal_ui/ tests/ src/ Functional/ d7/ MultilingualReviewPageTest.php - MultilingualReviewPageTest.php in core/
modules/ aggregator/ tests/ src/ Functional/ migrate_drupal_ui/ d6/ MultilingualReviewPageTest.php - MultilingualReviewPageTest.php in core/
modules/ aggregator/ tests/ src/ Functional/ migrate_drupal_ui/ d7/ MultilingualReviewPageTest.php
File
-
core/
modules/ migrate_drupal_ui/ tests/ src/ Functional/ MultilingualReviewPageTestBase.php, line 12
Namespace
Drupal\Tests\migrate_drupal_ui\FunctionalView source
abstract class MultilingualReviewPageTestBase extends MigrateUpgradeTestBase {
use CreateTestContentEntitiesTrait;
/**
* {@inheritdoc}
*/
protected static $modules = [
'migrate_drupal_ui',
];
/**
* Tests the migrate upgrade review form.
*
* The upgrade review form displays a list of modules that will be upgraded
* and a list of modules that will not be upgraded. This test is to ensure
* that the review page works correctly for all contributed Drupal 6 and
* Drupal 7 modules that have moved to core, e.g. Views, and for modules that
* were in Drupal 6 or Drupal 7 core but are not in Drupal 8 core, e.g.
* Overlay.
*
* To do this all modules in the source fixtures are enabled, except test and
* example modules. This means that we can test that the modules that do not
* need any migrations, such as Overlay, since there will be no available
* migrations which declare those modules as their source_module. It is
* assumed that the test fixtures include all modules that have moved to or
* dropped from core.
*
* The upgrade review form will also display errors for each migration that
* does not have a source_module definition. That function is not tested here.
*
* @see \Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeExecuteTestBase
*/
public function testMigrateUpgradeReviewPage() {
$this->prepare();
// Start the upgrade process.
$this->submitCredentialForm();
$this->submitForm([], 'I acknowledge I may lose data. Continue anyway.');
// Test the upgrade paths.
$this->assertReviewForm();
// Check there are no errors when a module does not have any migrations and
// does not need any. Test with a module that is in both Drupal 6 and
// Drupal 7 core.
$module = 'help';
$module_name = 'Help';
$query = $this->sourceDatabase
->delete('system');
$query->condition('type', 'module');
$query->condition('name', $module);
$query->execute();
// Start the upgrade process.
$this->drupalGet('/upgrade');
$this->submitForm([], 'Continue');
$this->submitForm($this->edits, 'Review upgrade');
$this->submitForm([], 'I acknowledge I may lose data. Continue anyway.');
// Test the upgrade paths. First remove the module from the available paths
// list.
$available_paths = $this->getAvailablePaths();
$available_paths = array_diff($available_paths, [
$module_name,
]);
$this->assertReviewForm($available_paths);
}
/**
* Performs preparation for the form tests.
*
* This is not done in setup because setup executes before the source database
* is loaded.
*/
public function prepare() {
// Enable all modules in the source except test and example modules, but
// include simpletest.
/** @var \Drupal\Core\Database\Query\SelectInterface $update */
$update = $this->sourceDatabase
->update('system')
->fields([
'status' => 1,
])
->condition('type', 'module');
$and = $update->andConditionGroup()
->condition('name', '%test%', 'NOT LIKE')
->condition('name', '%example%', 'NOT LIKE');
$conditions = $update->orConditionGroup();
$conditions->condition($and);
$conditions->condition('name', 'simpletest');
$update->condition($conditions);
$update->execute();
// Create entries for D8 test modules.
$insert = $this->sourceDatabase
->insert('system')
->fields([
'filename' => 'migrate_status_active_test',
'name' => 'migrate_status_active_test',
'type' => 'module',
'status' => 1,
]);
$insert->execute();
}
/**
* {@inheritdoc}
*/
protected function getEntityCounts() {
return [];
}
/**
* {@inheritdoc}
*/
protected function getEntityCountsIncremental() {
return [];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.