X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Finline_entity_form%2Fsrc%2FTests%2FElementWebTest.php;fp=web%2Fmodules%2Fcontrib%2Finline_entity_form%2Fsrc%2FTests%2FElementWebTest.php;h=59a5a5f9f010985e0ef7f0124f943aa2ad98a212;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/inline_entity_form/src/Tests/ElementWebTest.php b/web/modules/contrib/inline_entity_form/src/Tests/ElementWebTest.php new file mode 100644 index 000000000..59a5a5f9f --- /dev/null +++ b/web/modules/contrib/inline_entity_form/src/Tests/ElementWebTest.php @@ -0,0 +1,82 @@ +user = $this->createUser([ + 'create ief_simple_single content', + 'edit any ief_test_custom content', + 'view own unpublished content', + 'administer nodes', + ]); + + $this->drupalLogin($this->user); + + $this->fieldStorageConfigStorage = $this->container->get('entity_type.manager')->getStorage('field_storage_config'); + } + + /** + * Tests IEF on a custom form. + */ + public function testCustomFormIEF() { + $form_mode_possibilities = [ + 'default', + 'inline', + ]; + foreach ($form_mode_possibilities as $form_mode_possibility) { + $title = $this->randomMachineName(); + $this->drupalGet("ief-test/$form_mode_possibility"); + $this->assertText(t('Title'), 'Title field found on the form.'); + $this->assertText(t('Positive int'), 'Positive int field found on form.'); + $this->checkFormDisplayFields("node.ief_test_custom.$form_mode_possibility", 'inline_entity_form'); + + $edit = []; + $this->drupalPostForm('ief-test', $edit, t('Save')); + $this->assertText('Title field is required.'); + $this->assertNoNodeByTitle($title); + + $edit['inline_entity_form[title][0][value]'] = $title; + $edit['inline_entity_form[positive_int][0][value]'] = -1; + $this->drupalPostForm('ief-test', $edit, t('Save')); + $this->assertText('Positive int must be higher than or equal to 1'); + $this->assertNoNodeByTitle($title); + + $edit['inline_entity_form[positive_int][0][value]'] = 11; + $this->drupalPostForm('ief-test', $edit, t('Save')); + $message = t('Created @entity_type @label.', ['@entity_type' => t('Content'), '@label' => $edit['inline_entity_form[title][0][value]']]); + $this->assertText($message, 'Status message found on the page.'); + $this->assertNodeByTitle($title, 'ief_test_custom'); + + if ($node = $this->getNodeByTitle($title)) { + $this->drupalGet("ief-edit-test/{$node->id()}/$form_mode_possibility"); + $this->assertFieldByName('inline_entity_form[title][0][value]', $title, 'Node title appears in form.'); + $this->checkFormDisplayFields("node.ief_test_custom.$form_mode_possibility", 'inline_entity_form'); + $this->assertFieldByName('inline_entity_form[positive_int][0][value]', 11, 'Positive int field appears in form.'); + $updated_title = $title . ' - updated'; + $edit['inline_entity_form[title][0][value]'] = $updated_title; + $this->drupalPostForm(NULL, $edit, t('Update')); + $this->assertNodeByTitle($updated_title, 'ief_test_custom'); + } + } + } + +}