public function ParagraphsAccordionPluginTest::testCreatingAccordionContent in Paragraphs Collection 8
Test creating accordion content.
File
- modules/
paragraphs_collection_demo/ tests/ src/ Functional/ ParagraphsAccordionPluginTest.php, line 46
Class
- ParagraphsAccordionPluginTest
- Tests Accordion plugin.
Namespace
Drupal\Tests\paragraphs_collection_demo\FunctionalCode
public function testCreatingAccordionContent() {
$this
->drupalGet('node/add/paragraphed_accordion_test');
$this
->drupalPostForm(NULL, NULL, 'field_paragraphs_accordion_add_more');
$this
->drupalPostForm(NULL, NULL, 'field_paragraphs_0_subform_paragraphs_accordion_paragraphs_accordion_content_add_more');
$this
->drupalPostForm(NULL, NULL, 'field_paragraphs_0_subform_paragraphs_accordion_paragraphs_accordion_content_add_more');
$this
->drupalPostForm(NULL, NULL, 'field_paragraphs_0_subform_paragraphs_accordion_paragraphs_accordion_content_add_more');
$this
->drupalPostForm(NULL, NULL, 'field_paragraphs_0_subform_paragraphs_accordion_paragraphs_accordion_content_add_more');
$edit = [
'title[0][value]' => 'Accordion',
'field_paragraphs[0][subform][paragraphs_accordion_paragraphs][0][subform][field_accordion_content][0][value]' => 'Title',
'field_paragraphs[0][subform][paragraphs_accordion_paragraphs][1][subform][field_accordion_content][0][value]' => 'Body text.',
'field_paragraphs[0][subform][paragraphs_accordion_paragraphs][2][subform][field_accordion_content][0][value]' => 'Second title',
'field_paragraphs[0][subform][paragraphs_accordion_paragraphs][3][subform][field_accordion_content][0][value]' => 'Second Body text.',
];
$this
->drupalPostForm(NULL, $edit, 'Save');
$node = $this
->getNodeByTitle('Accordion');
$this
->drupalGet('node/' . $node
->id());
// Ensure expected markup for an accordion.
$elements = $this
->xpath('//div[contains(@class, :accordion-class)]/div[contains(@class, :items-class)]', [
':accordion-class' => 'accordion',
':items-class' => 'field__items',
]);
$this
->assertTrue(!empty($elements), 'The proper accordion markup was found.');
$this
->drupalPostForm('admin/structure/paragraphs_type/accordion/fields/paragraph.accordion.paragraphs_accordion_paragraphs/delete', [], t('Delete'));
$this
->assertText('The field Accordion has been deleted from the Accordion content type.');
$node = $this
->getNodeByTitle('Accordion');
$this
->drupalGet('node/' . $node
->id());
$this
->assertResponse(200);
$this
->drupalGet('admin/structure/paragraphs_type/accordion');
$this
->assertResponse(200);
$this
->drupalPostForm(NULL, [
'behavior_plugins[accordion][enabled]' => TRUE,
], t('Save'));
$this
->assertText('The Accordion plugin cannot be enabled if the accordion field is missing.');
}