Issue #3267314 by quietone, danflanagan8: Handle migration tests for removing tracker

(cherry picked from commit 12762b400f)
merge-requests/2418/head
catch 2022-06-20 20:28:44 +01:00
parent 42bbd1ad1d
commit 6166cd07a2
17 changed files with 28857 additions and 9 deletions

View File

@ -25,6 +25,7 @@
"modules/rdf/tests/fixtures/drupal7.php",
"modules/search/tests/UnicodeTest.txt",
"modules/system/tests/logo.svgz",
"modules/tracker/tests/fixtures/drupal7.php",
"node_modules/*",
"profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/**/*",
"tests/fixtures/files/*",

View File

@ -55,6 +55,7 @@ class MigrationPluginListTest extends KernelTestBase {
'system',
'taxonomy',
'text',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'tracker',
'update',
'user',

View File

@ -37,6 +37,7 @@ finished:
ping: core
poll: core
throttle: core
# @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
tracker: core
translation: core
trigger: core

View File

@ -77,6 +77,7 @@ class StateFileExistsTest extends MigrateDrupalTestBase {
'taxonomy',
'telephone',
'text',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'tracker',
'update',
'user',

View File

@ -39,6 +39,7 @@ class MigrateDrupal6AuditIdsTest extends MigrateDrupal6TestBase {
$this->installSchema('node', ['node_access']);
$this->installSchema('search', ['search_dataset']);
$this->installSchema('system', ['sequences']);
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
$this->installSchema('tracker', ['tracker_node', 'tracker_user']);
// Enable content moderation for nodes of type page.

View File

@ -39,6 +39,7 @@ class MigrateDrupal7AuditIdsTest extends MigrateDrupal7TestBase {
$this->installSchema('node', ['node_access']);
$this->installSchema('search', ['search_dataset']);
$this->installSchema('system', ['sequences']);
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
$this->installSchema('tracker', ['tracker_node', 'tracker_user']);
// Enable content moderation for nodes of type page.

View File

@ -29,6 +29,7 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase {
'forum',
'statistics',
'syslog',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'tracker',
'update',
// Test migrations states.
@ -127,6 +128,7 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase {
'Taxonomy',
'Text',
'Throttle',
// @todo Remove Tracker in https://www.drupal.org/project/drupal/issues/3261452
'Tracker',
'Trigger',
'Update status',

View File

@ -27,6 +27,7 @@ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase {
'forum',
'statistics',
'syslog',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'tracker',
'update',
// Test migrations states.
@ -113,6 +114,7 @@ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase {
'Taxonomy',
'Text',
'Throttle',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'Tracker',
'Trigger',
'Update status',

View File

@ -28,7 +28,6 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase {
'forum',
'statistics',
'syslog',
'tracker',
'update',
// Test migrations states.
'migrate_state_finished_test',
@ -134,7 +133,6 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase {
'Text',
'Title',
'Toolbar',
'Tracker',
'Trigger',
'Update manager',
'User',
@ -173,6 +171,8 @@ class MultilingualReviewPageTest extends MultilingualReviewPageTestBase {
'RDF',
'References',
'References UUID',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'Tracker',
'Translation redirect',
'Translation sets',
'User mail translation',

View File

@ -184,6 +184,7 @@ class NoMultilingualReviewPageTest extends NoMultilingualReviewPageTestBase {
// These modules are in the missing path list because they are installed
// on the source site but they are not installed on the destination site.
'Syslog',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'Tracker',
'Update manager',
];

View File

@ -216,6 +216,7 @@ class Upgrade7Test extends MigrateUpgradeExecuteTestBase {
// These modules are in the missing path list because they are installed
// on the source site but they are not installed on the destination site.
'Syslog',
// @todo Remove tracker in https://www.drupal.org/project/drupal/issues/3261452
'Tracker',
'Update manager',
];

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,72 @@
<?php
namespace Drupal\Tests\tracker\Functional\Migrate;
use Drupal\Tests\migrate_drupal_ui\Functional\NoMultilingualReviewPageTestBase;
/**
* Tests Review page.
*
* @group tracker
*/
class ReviewPageTest extends NoMultilingualReviewPageTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = ['tracker'];
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
$this->loadFixture($this->getModulePath('tracker') . '/tests/fixtures/drupal7.php');
}
/**
* Tests the review page.
*/
public function testMigrateUpgradeReviewPage() {
$this->prepare();
// Start the upgrade process.
$this->submitCredentialForm();
$session = $this->assertSession();
$this->submitForm([], 'I acknowledge I may lose data. Continue anyway.');
$session->statusCodeEquals(200);
// Confirm that Tracker will be upgraded.
$session->elementExists('xpath', "//td[contains(@class, 'checked') and text() = 'Tracker']");
$session->elementNotExists('xpath', "//td[contains(@class, 'error') and text() = 'Tracker']");
}
/**
* {@inheritdoc}
*/
protected function getSourceBasePath() {
return __DIR__;
}
/**
* {@inheritdoc}
*/
protected function getAvailablePaths() {
return [];
}
/**
* {@inheritdoc}
*/
protected function getIncompletePaths() {
return [];
}
/**
* {@inheritdoc}
*/
protected function getMissingPaths() {
return [];
}
}

View File

@ -0,0 +1,64 @@
<?php
namespace Drupal\Tests\tracker\Kernel\Migrate\d7;
use Drupal\migrate_drupal\NodeMigrateType;
use Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase as CoreMigrateDrupalTestBase;
use Drupal\Tests\migrate_drupal\Traits\NodeMigrateTypeTestTrait;
/**
* Base class for Tracker Drupal 7 migration tests.
*/
abstract class MigrateDrupalTestBase extends CoreMigrateDrupalTestBase {
use NodeMigrateTypeTestTrait;
/**
* {@inheritdoc}
*/
protected function setUp(): void {
parent::setUp();
// Add a node classic migrate table to the destination site so that tests
// run by default with the classic node migrations.
$this->makeNodeMigrateMapTable(NodeMigrateType::NODE_MIGRATE_TYPE_CLASSIC, '7');
$this->loadFixture($this->getFixtureFilePath());
}
/**
* Gets the path to the fixture file.
*/
protected function getFixtureFilePath() {
return __DIR__ . '/../../../../fixtures/drupal7.php';
}
/**
* Executes all user migrations.
*
* @param bool $include_pictures
* (optional) If TRUE, migrates user pictures. Defaults to TRUE.
*/
protected function migrateUsers($include_pictures = TRUE) {
$migrations = ['d7_user_role', 'd7_user'];
if ($include_pictures) {
// Prepare to migrate user pictures as well.
$this->installEntitySchema('file');
$migrations = array_merge([
'user_picture_field',
'user_picture_field_instance',
], $migrations);
}
$this->executeMigrations($migrations);
}
/**
* Migrates node types.
*/
protected function migrateContentTypes() {
$this->installConfig(['node']);
$this->installEntitySchema('node');
$this->executeMigration('d7_node_type');
}
}

View File

@ -2,7 +2,6 @@
namespace Drupal\Tests\tracker\Kernel\Migrate\d7;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
use Drupal\Core\Database\Database;
/**
@ -10,7 +9,7 @@ use Drupal\Core\Database\Database;
*
* @group tracker
*/
class MigrateTrackerNodeTest extends MigrateDrupal7TestBase {
class MigrateTrackerNodeTest extends MigrateDrupalTestBase {
/**
* {@inheritdoc}

View File

@ -2,14 +2,12 @@
namespace Drupal\Tests\tracker\Kernel\Migrate\d7;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
/**
* Tests migration of Tracker settings to configuration.
*
* @group tracker
*/
class MigrateTrackerSettingsTest extends MigrateDrupal7TestBase {
class MigrateTrackerSettingsTest extends MigrateDrupalTestBase {
protected static $modules = ['tracker'];

View File

@ -2,7 +2,6 @@
namespace Drupal\Tests\tracker\Kernel\Migrate\d7;
use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
use Drupal\Core\Database\Database;
/**
@ -10,7 +9,7 @@ use Drupal\Core\Database\Database;
*
* @group tracker
*/
class MigrateTrackerUserTest extends MigrateDrupal7TestBase {
class MigrateTrackerUserTest extends MigrateDrupalTestBase {
/**
* {@inheritdoc}