From 357b600ba53d4c25d0234c7929d8c659284008b6 Mon Sep 17 00:00:00 2001 From: Lauri Eskola <lauri.eskola@acquia.com> Date: Mon, 8 May 2023 10:03:18 +0300 Subject: [PATCH] Issue #3111550 by Primsi, Berdir, smustgrave: Test that new fields are translatable when re-using existing storage but not translatable when added from the UI --- .../ContentTranslationSettingsTest.php | 3 +++ .../Functional/ManageFieldsFunctionalTest.php | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/core/modules/content_translation/tests/src/Functional/ContentTranslationSettingsTest.php b/core/modules/content_translation/tests/src/Functional/ContentTranslationSettingsTest.php index a18d69076dfa..73c2ad319398 100644 --- a/core/modules/content_translation/tests/src/Functional/ContentTranslationSettingsTest.php +++ b/core/modules/content_translation/tests/src/Functional/ContentTranslationSettingsTest.php @@ -305,6 +305,9 @@ public function testFieldTranslatableSettingsUI() { $this->assertSession()->fieldDisabled('edit-translatable'); $this->assertSession()->pageTextContains('To configure translation for this field, enable language support for this type.'); + // 'Users may translate this field' should be unchecked by default. + $this->assertSession()->checkboxNotChecked('translatable'); + // Tests that field has translatable setting if bundle is translatable. // Note: this field is not translatable when enable bundle translatability. $edit = [ diff --git a/core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php b/core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php index 8dbf00201762..5235a3e457ca 100644 --- a/core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php +++ b/core/modules/field_ui/tests/src/Functional/ManageFieldsFunctionalTest.php @@ -1040,4 +1040,26 @@ public function entityTypesProvider() { ]; } + /** + * Test translation defaults. + */ + public function testTranslationDefaults() { + $this->createField(); + $field_storage = FieldStorageConfig::loadByName('node', 'field_' . $this->fieldNameInput); + $this->assertTrue($field_storage->isTranslatable(), 'Field storage translatable.'); + + $field = FieldConfig::loadByName('node', $this->contentType, 'field_' . $this->fieldNameInput); + $this->assertFalse($field->isTranslatable(), 'Field instance should not be translatable by default.'); + + // Add a new field based on an existing field. + $this->drupalCreateContentType(['type' => 'additional', 'name' => 'Additional type']); + $this->fieldUIAddExistingField("admin/structure/types/manage/additional", $this->fieldName, 'Additional type'); + + $field_storage = FieldStorageConfig::loadByName('node', 'field_' . $this->fieldNameInput); + $this->assertTrue($field_storage->isTranslatable(), 'Field storage translatable.'); + + $field = FieldConfig::loadByName('node', 'additional', 'field_' . $this->fieldNameInput); + $this->assertFalse($field->isTranslatable(), 'Field instance should not be translatable by default.'); + } + } -- GitLab