View source
<?php
namespace Drupal\Tests\commerce_migrate_commerce\Functional\commerce1;
use Drupal\migrate\Plugin\MigrateIdMapInterface;
use Drupal\Tests\migrate_drupal_ui\Functional\MigrateUpgradeTestBase;
class MigrateUpgradeCommerce1Test extends MigrateUpgradeTestBase {
protected static $modules = [
'block',
'block_content',
'comment',
'dblog',
'field',
'filter',
'node',
'path',
'path_alias',
'search',
'shortcut',
'system',
'taxonomy',
'user',
'address',
'commerce',
'commerce_cart',
'commerce_log',
'commerce_order',
'commerce_payment',
'commerce_price',
'commerce_product',
'commerce_promotion',
'commerce_store',
'commerce_migrate',
'commerce_shipping',
'commerce_tax',
'migrate',
'migrate_drupal',
'migrate_drupal_ui',
'address',
'datetime',
'entity_reference_revisions',
'file',
'image',
'link',
'options',
'telephone',
'text',
'entity',
'profile',
'inline_entity_form',
'state_machine',
'views',
'migrate_plus',
'commerce_migrate_commerce',
];
protected function setUp() : void {
parent::setUp();
$this
->writeSettings([
'settings' => [
'migrate_node_migrate_type_classic' => (object) [
'value' => TRUE,
'required' => TRUE,
],
],
]);
$this
->loadFixture(drupal_get_path('module', 'commerce_migrate_commerce') . '/tests/fixtures/ck2.php');
}
public function testMigrateUpgrade() {
$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
->submitForm([], 'Continue');
$session
->pageTextContains('Provide credentials for the database of the Drupal site you want to upgrade.');
$edits = $this
->translatePostValues($this
->getCredentials());
$this
->submitForm($edits, 'Review upgrade');
$session
->statusCodeEquals(200);
$this
->submitForm([], 'Perform upgrade');
$this
->assertUpgrade($this
->getEntityCounts());
$plugin_manager = \Drupal::service('plugin.manager.migration');
$all_migrations = $plugin_manager
->createInstancesByTag('Drupal 7');
foreach ($all_migrations as $migration) {
$id_map = $migration
->getIdMap();
foreach ($id_map as $source_id => $map) {
$source_id_values = array_values(unserialize($source_id));
$row = $id_map
->getRowBySource($source_id_values);
$destination = serialize($id_map
->currentDestination());
$message = "Migration of {$source_id} to {$destination} as part of the {$migration->id()} migration. The source row status is " . $row['source_row_status'];
if ($row['source_row_status'] == MigrateIdMapInterface::STATUS_FAILED || $row['source_row_status'] == MigrateIdMapInterface::STATUS_NEEDS_UPDATE) {
$this
->fail($message);
}
else {
self::assertNotEmpty($message);
}
}
}
}
protected function getSourceBasePath() {
return __DIR__ . '/files';
}
protected function getEntityCounts() {
return [
'block' => 26,
'block_content' => 0,
'block_content_type' => 1,
'comment' => 0,
'comment_type' => 11,
'commerce_log' => 18,
'commerce_number_pattern' => 1,
'commerce_order' => 5,
'commerce_order_type' => 1,
'commerce_order_item' => 14,
'commerce_order_item_type' => 3,
'commerce_package_type' => 0,
'commerce_payment_gateway' => 1,
'commerce_payment_method' => 0,
'commerce_payment' => 3,
'commerce_currency' => 1,
'commerce_product_variation' => 84,
'commerce_product' => 20,
'commerce_product_type' => 7,
'commerce_product_variation_type' => 8,
'commerce_product_attribute' => 6,
'commerce_product_attribute_value' => 39,
'commerce_promotion_coupon' => 0,
'commerce_promotion' => 0,
'commerce_shipping_method' => 3,
'commerce_shipment' => 0,
'commerce_shipment_type' => 1,
'commerce_store' => 1,
'commerce_store_type' => 1,
'commerce_tax_type' => 1,
'contact_form' => 2,
'contact_message' => 0,
'editor' => 2,
'field_storage_config' => 42,
'field_config' => 113,
'file' => 105,
'filter_format' => 6,
'image_style' => 4,
'migration_group' => 1,
'migration' => 0,
'node' => 17,
'node_type' => 11,
'path_alias' => 121,
'profile' => 13,
'profile_type' => 3,
'rdf_mapping' => 5,
'search_page' => 2,
'shortcut' => 2,
'shortcut_set' => 1,
'action' => 27,
'menu' => 10,
'taxonomy_term' => 33,
'taxonomy_vocabulary' => 12,
'tour' => 2,
'user' => 3,
'user_role' => 3,
'menu_link_content' => 0,
'view' => 26,
'base_field_override' => 1,
'date_format' => 11,
'entity_form_display' => 48,
'entity_view_mode' => 46,
'entity_form_mode' => 5,
'entity_view_display' => 153,
];
}
protected function getAvailablePaths() {
return [];
}
protected function getMissingPaths() {
return [];
}
protected function getEntityCountsIncremental() {
}
}