Version 1
[yaffs-website] / web / core / modules / aggregator / tests / src / Kernel / Migrate / d7 / MigrateAggregatorFeedTest.php
diff --git a/web/core/modules/aggregator/tests/src/Kernel/Migrate/d7/MigrateAggregatorFeedTest.php b/web/core/modules/aggregator/tests/src/Kernel/Migrate/d7/MigrateAggregatorFeedTest.php
new file mode 100644 (file)
index 0000000..fd20823
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+namespace Drupal\Tests\aggregator\Kernel\Migrate\d7;
+
+use Drupal\aggregator\Entity\Feed;
+use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
+
+/**
+ * Test migration to aggregator_feed entities.
+ *
+ * @group migrate_drupal_7
+ */
+class MigrateAggregatorFeedTest extends MigrateDrupal7TestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['aggregator'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installEntitySchema('aggregator_feed');
+    $this->executeMigration('d7_aggregator_feed');
+  }
+
+  /**
+   * Tests migration of aggregator feeds.
+   */
+  public function testAggregatorFeedImport() {
+    /** @var \Drupal\aggregator\FeedInterface $feed */
+    $feed = Feed::load(1);
+    $this->assertIdentical('Know Your Meme', $feed->label());
+    $this->assertIdentical('en', $feed->language()->getId());
+    $this->assertIdentical('http://knowyourmeme.com/newsfeed.rss', $feed->getUrl());
+    $this->assertIdentical('900', $feed->getRefreshRate());
+    // The feed's last checked time can change as the fixture is updated, so
+    // assert that its format is correct.
+    $checked_time = $feed->getLastCheckedTime();
+    $this->assertTrue(is_numeric($checked_time));
+    $this->assertTrue($checked_time > 1000000000);
+    $this->assertIdentical('0', $feed->getQueuedTime());
+    $this->assertIdentical('http://knowyourmeme.com', $feed->link->value);
+    $this->assertIdentical('New items added to the News Feed', $feed->getDescription());
+    $this->assertNull($feed->getImage());
+    // As with getLastCheckedTime(), the etag can change as the fixture is
+    // updated normally, so assert that its format is correct.
+    $this->assertTrue(preg_match('/^"[a-z0-9]{32}"$/', $feed->getEtag()));
+    $this->assertIdentical('0', $feed->getLastModified());
+  }
+
+}