Version 1
[yaffs-website] / web / core / modules / migrate / tests / src / Kernel / MigrateStatusTest.php
diff --git a/web/core/modules/migrate/tests/src/Kernel/MigrateStatusTest.php b/web/core/modules/migrate/tests/src/Kernel/MigrateStatusTest.php
new file mode 100644 (file)
index 0000000..7dc0b5b
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+
+namespace Drupal\Tests\migrate\Kernel;
+
+use Drupal\migrate\Plugin\MigrationInterface;
+
+/**
+ * Tests migration status tracking.
+ *
+ * @group migrate
+ */
+class MigrateStatusTest extends MigrateTestBase {
+
+  /**
+   * Tests different connection types.
+   */
+  public function testStatus() {
+    // Create a minimally valid migration.
+    $definition = [
+      'id' => 'migration_status_test',
+      'migration_tags' => ['Testing'],
+      'source' => ['plugin' => 'empty'],
+      'destination' => [
+        'plugin' => 'config',
+        'config_name' => 'migrate_test.settings',
+      ],
+      'process' => ['foo' => 'bar'],
+    ];
+    $migration = \Drupal::service('plugin.manager.migration')->createStubMigration($definition);
+
+    // Default status is idle.
+    $status = $migration->getStatus();
+    $this->assertIdentical($status, MigrationInterface::STATUS_IDLE);
+
+    // Test setting and retrieving all known status values.
+    $status_list = [
+      MigrationInterface::STATUS_IDLE,
+      MigrationInterface::STATUS_IMPORTING,
+      MigrationInterface::STATUS_ROLLING_BACK,
+      MigrationInterface::STATUS_STOPPING,
+      MigrationInterface::STATUS_DISABLED,
+    ];
+    foreach ($status_list as $status) {
+      $migration->setStatus($status);
+      $this->assertIdentical($migration->getStatus(), $status);
+    }
+  }
+
+}