Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / contact / tests / src / Functional / Update / ContactUpdateTest.php
diff --git a/web/core/modules/contact/tests/src/Functional/Update/ContactUpdateTest.php b/web/core/modules/contact/tests/src/Functional/Update/ContactUpdateTest.php
new file mode 100644 (file)
index 0000000..676f938
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+
+namespace Drupal\Tests\contact\Functional\Update;
+
+use Drupal\FunctionalTests\Update\UpdatePathTestBase;
+
+/**
+ * Tests contact update path.
+ *
+ * @group contact
+ */
+class ContactUpdateTest extends UpdatePathTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setDatabaseDumpFiles() {
+    $this->databaseDumpFiles = [
+      __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.bare.standard.php.gz',
+    ];
+  }
+
+  /**
+   * Tests contact_form updates.
+   *
+   * @see contact_post_update_add_message_redirect_field_to_contact_form()
+   */
+  public function testPostUpdateContactFormFields() {
+    // Check that contact_form does not have fields redirect and message.
+    $config_factory = \Drupal::configFactory();
+    // Check that contact_form entities are more than zero.
+    $contact_forms = $config_factory->listAll('contact.form.');
+    $this->assertTrue(count($contact_forms), 'There are contact forms to update.');
+    foreach ($contact_forms as $contact_config_name) {
+      $contact_form_data = $config_factory->get($contact_config_name)->get();
+      $this->assertFalse(isset($contact_form_data['message']), 'Prior to running the update the "message" key does not exist.');
+      $this->assertFalse(isset($contact_form_data['redirect']), 'Prior to running the update the "redirect" key does not exist.');
+    }
+
+    // Run updates.
+    $this->runUpdates();
+
+    // Check that the contact_form entities have been updated.
+    foreach ($contact_forms as $contact_config_name) {
+      $contact_form_data = $config_factory->get($contact_config_name)->get();
+      $this->assertTrue(isset($contact_form_data['message']), 'After running the update the "message" key exists.');
+      $this->assertEqual('Your message has been sent.', $contact_form_data['message']);
+      $this->assertTrue(isset($contact_form_data['redirect']), 'After running the update the "redirect" key exists.');
+      $this->assertEqual('', $contact_form_data['redirect']);
+    }
+  }
+
+}