From 7a84619f63f9eccd424e70ae212cf0f588fdf851 Mon Sep 17 00:00:00 2001 From: Dave Long <dave@longwaveconsulting.com> Date: Fri, 10 Nov 2023 23:28:29 +0000 Subject: [PATCH] Issue #3385834 by vbouchet, joachim: MenuUiNodeTest should use API to set up language --- .../tests/src/Functional/MenuUiNodeTest.php | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php b/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php index 74ff25eec27e..466b75d5bfa8 100644 --- a/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php +++ b/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php @@ -2,7 +2,9 @@ namespace Drupal\Tests\menu_ui\Functional; +use Drupal\Core\Language\LanguageInterface; use Drupal\language\Entity\ConfigurableLanguage; +use Drupal\language\Entity\ContentLanguageSettings; use Drupal\menu_link_content\Entity\MenuLinkContent; use Drupal\node\Entity\Node; use Drupal\node\Entity\NodeType; @@ -296,30 +298,36 @@ public function testMultilingualMenuNodeFormWidget() { $config->set('url.prefixes.' . $langcodes[0], $langcodes[0]); $config->save(); - $this->rebuildContainer(); - $languages = []; foreach ($langcodes as $langcode) { $languages[$langcode] = ConfigurableLanguage::load($langcode); } - // Use a UI form submission to make the node type and menu link content entity translatable. - $this->drupalLogout(); - $this->drupalLogin($this->rootUser); - $edit = [ - 'entity_types[node]' => TRUE, - 'entity_types[menu_link_content]' => TRUE, - 'settings[node][page][settings][language][language_alterable]' => TRUE, - 'settings[node][page][translatable]' => TRUE, - 'settings[node][page][fields][title]' => TRUE, - 'settings[menu_link_content][menu_link_content][translatable]' => TRUE, - ]; - $this->drupalGet('admin/config/regional/content-language'); - $this->submitForm($edit, 'Save configuration'); + // Enable translation for page. + $config = ContentLanguageSettings::loadByEntityTypeBundle('node', 'page'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); - // Log out and back in as normal user. - $this->drupalLogout(); - $this->drupalLogin($this->editor); + $content_translation_manager = $this->container->get('content_translation.manager'); + $content_translation_manager->setEnabled('node', 'page', TRUE); + $content_translation_manager->setBundleTranslationSettings('node', 'page', [ + 'untranslatable_fields_hide' => FALSE, + ]); + + // Enable translation for menu_link_content. + $config = ContentLanguageSettings::loadByEntityTypeBundle('menu_link_content', 'menu_link_content'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); + + $content_translation_manager = $this->container->get('content_translation.manager'); + $content_translation_manager->setEnabled('menu_link_content', 'menu_link_content', TRUE); + $content_translation_manager->setBundleTranslationSettings('menu_link_content', 'menu_link_content', [ + 'untranslatable_fields_hide' => FALSE, + ]); + + $this->rebuildContainer(); // Create a node. $node_title = $this->randomMachineName(8); -- GitLab