Version 1
[yaffs-website] / web / core / modules / menu_ui / tests / src / Functional / MenuLinkReorderTest.php
diff --git a/web/core/modules/menu_ui/tests/src/Functional/MenuLinkReorderTest.php b/web/core/modules/menu_ui/tests/src/Functional/MenuLinkReorderTest.php
new file mode 100644 (file)
index 0000000..4d2bba6
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+namespace Drupal\Tests\menu_ui\Functional;
+
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Reorder menu items.
+ *
+ * @group menu_ui
+ */
+class MenuLinkReorderTest extends BrowserTestBase {
+
+  /**
+   * An administrator user.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $administrator;
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = ['menu_ui', 'test_page_test', 'node', 'block'];
+
+  /**
+   * Test creating, editing, deleting menu links via node form widget.
+   */
+  public function testDefaultMenuLinkReorder() {
+
+    // Add the main menu block.
+    $this->drupalPlaceBlock('system_menu_block:main');
+
+    // Assert that the Home link is available.
+    $this->drupalGet('test-page');
+    $this->assertLink('Home');
+
+    // The administrator user that can re-order menu links.
+    $this->administrator = $this->drupalCreateUser([
+      'administer site configuration',
+      'access administration pages',
+      'administer menu',
+    ]);
+    $this->drupalLogin($this->administrator);
+
+    // Change the weight of the link to a non default value.
+    $edit = [
+      'links[menu_plugin_id:test_page_test.front_page][weight]' => -10,
+    ];
+    $this->drupalPostForm('admin/structure/menu/manage/main', $edit, t('Save'));
+
+    // The link is still there.
+    $this->drupalGet('test-page');
+    $this->assertLink('Home');
+
+    // Clear all caches.
+    $this->drupalPostForm('admin/config/development/performance', [], t('Clear all caches'));
+
+    // Clearing all caches should not affect the state of the menu link.
+    $this->drupalGet('test-page');
+    $this->assertLink('Home');
+
+  }
+
+}