Upgraded drupal core with security updates
[yaffs-website] / web / core / modules / aggregator / tests / src / Functional / UpdateFeedTest.php
diff --git a/web/core/modules/aggregator/tests/src/Functional/UpdateFeedTest.php b/web/core/modules/aggregator/tests/src/Functional/UpdateFeedTest.php
new file mode 100644 (file)
index 0000000..a81e0ae
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+namespace Drupal\Tests\aggregator\Functional;
+
+/**
+ * Update feed test.
+ *
+ * @group aggregator
+ */
+class UpdateFeedTest extends AggregatorTestBase {
+  /**
+   * Creates a feed and attempts to update it.
+   */
+  public function testUpdateFeed() {
+    $remaining_fields = ['title[0][value]', 'url[0][value]', ''];
+    foreach ($remaining_fields as $same_field) {
+      $feed = $this->createFeed();
+
+      // Get new feed data array and modify newly created feed.
+      $edit = $this->getFeedEditArray();
+      // Change refresh value.
+      $edit['refresh'] = 1800;
+      if (isset($feed->{$same_field}->value)) {
+        $edit[$same_field] = $feed->{$same_field}->value;
+      }
+      $this->drupalPostForm('aggregator/sources/' . $feed->id() . '/configure', $edit, t('Save'));
+      $this->assertText(t('The feed @name has been updated.', ['@name' => $edit['title[0][value]']]), format_string('The feed %name has been updated.', ['%name' => $edit['title[0][value]']]));
+
+      // Verify that the creation message contains a link to a feed.
+      $view_link = $this->xpath('//div[@class="messages"]//a[contains(@href, :href)]', [':href' => 'aggregator/sources/']);
+      $this->assert(isset($view_link), 'The message area contains a link to a feed');
+
+      // Check feed data.
+      $this->assertUrl($feed->url('canonical', ['absolute' => TRUE]));
+      $this->assertTrue($this->uniqueFeed($edit['title[0][value]'], $edit['url[0][value]']), 'The feed is unique.');
+
+      // Check feed source.
+      $this->drupalGet('aggregator/sources/' . $feed->id());
+      $this->assertResponse(200, 'Feed source exists.');
+      $this->assertText($edit['title[0][value]'], 'Page title');
+
+      // Set correct title so deleteFeed() will work.
+      $feed->title = $edit['title[0][value]'];
+
+      // Delete feed.
+      $this->deleteFeed($feed);
+    }
+  }
+
+}