You are here

public function ParagraphsFieldGroupTest::testFieldGroup in Paragraphs 8

Same name in this branch
  1. 8 tests/src/Functional/WidgetLegacy/ParagraphsFieldGroupTest.php \Drupal\Tests\paragraphs\Functional\WidgetLegacy\ParagraphsFieldGroupTest::testFieldGroup()
  2. 8 tests/src/Functional/WidgetStable/ParagraphsFieldGroupTest.php \Drupal\Tests\paragraphs\Functional\WidgetStable\ParagraphsFieldGroupTest::testFieldGroup()

Tests the field group inside paragraph.

File

tests/src/Functional/WidgetStable/ParagraphsFieldGroupTest.php, line 25

Class

ParagraphsFieldGroupTest
Tests the field group on node.

Namespace

Drupal\Tests\paragraphs\Functional\WidgetStable

Code

public function testFieldGroup() {
  $this
    ->loginAsAdmin();
  $paragraph_type = 'paragraph_type_test';
  $content_type = 'paragraphed_test';

  // Add a Paragraphed test content type.
  $this
    ->addParagraphedContentType($content_type);
  $this
    ->addParagraphsType($paragraph_type);
  $this
    ->addParagraphsType('text');
  static::fieldUIAddNewField('admin/structure/paragraphs_type/' . $paragraph_type, 'text', 'Text', 'text_long', [], []);

  // Create the field group element on paragraph type.
  $edit = [
    'group_formatter' => 'fieldset',
    'label' => 'paragraph_field_group_title',
    'group_name' => 'field',
  ];
  $this
    ->drupalGet('admin/structure/paragraphs_type/' . $paragraph_type . '/form-display/add-group');
  $this
    ->submitForm($edit, 'Save and continue');
  $edit = [
    'format_settings[label]' => 'field_group',
  ];
  $this
    ->submitForm($edit, 'Create group');

  // Put the text field into the field group.
  $edit = [
    'fields[group_field][region]' => 'content',
    'fields[field_text][parent]' => 'group_field',
  ];
  $this
    ->drupalGet('admin/structure/paragraphs_type/' . $paragraph_type . '/form-display');
  $this
    ->submitForm($edit, 'Save');

  // Create a node with a paragraph.
  $this
    ->drupalGet('node/add/' . $content_type);
  $this
    ->drupalGet('node/add/' . $content_type);
  $this
    ->submitForm([], 'field_paragraphs_paragraph_type_test_add_more');

  // Test if the new field group is displayed.
  $this
    ->assertSession()
    ->pageTextContains('field_group');
  $this
    ->assertSession()
    ->elementExists('css', 'fieldset');

  // Save the node.
  $edit = [
    'title[0][value]' => 'paragraphed_title',
    'field_paragraphs[0][subform][field_text][0][value]' => 'paragraph_value',
  ];
  $this
    ->submitForm($edit, 'Save');
}