trait WebformNodeBrowserTestTrait in Webform 8.5
Same name and namespace in other branches
- 6.x modules/webform_node/tests/src/Traits/WebformNodeBrowserTestTrait.php \Drupal\Tests\webform_node\Traits\WebformNodeBrowserTestTrait
Provides convenience methods for webform node browser tests.
Hierarchy
- trait \Drupal\Tests\webform_node\Traits\WebformNodeBrowserTestTrait
3 files declare their use of WebformNodeBrowserTestTrait
- WebformGroupBrowserTestBase.php in modules/
webform_group/ tests/ src/ Functional/ WebformGroupBrowserTestBase.php - WebformNodeBrowserTestBase.php in modules/
webform_node/ tests/ src/ Functional/ WebformNodeBrowserTestBase.php - WebformSettingsAjaxTest.php in tests/
src/ Functional/ Settings/ WebformSettingsAjaxTest.php
File
- modules/
webform_node/ tests/ src/ Traits/ WebformNodeBrowserTestTrait.php, line 11
Namespace
Drupal\Tests\webform_node\TraitsView source
trait WebformNodeBrowserTestTrait {
/**
* Post a new submission to a webform node.
*
* @param \Drupal\node\NodeInterface $node
* A Webform node.
* @param array $edit
* Submission values.
* @param string $submit
* Value of the submit button whose click is to be emulated.
* @param array $options
* Options to be forwarded to the url generator.
*
* @return int
* The created submission's sid.
*
* @see \Drupal\webform\Tests\WebformTestBase::postSubmission
*/
protected function postNodeSubmission(NodeInterface $node, array $edit = [], $submit = NULL, array $options = []) {
/** @var \Drupal\webform\WebformEntityReferenceManagerInterface $entity_reference_manager */
$entity_reference_manager = \Drupal::service('webform.entity_reference_manager');
$webform = $entity_reference_manager
->getWebform($node);
$submit = $this
->getWebformSubmitButtonLabel($webform, $submit);
$this
->drupalPostForm('/node/' . $node
->id(), $edit, $submit, $options);
return $this
->getLastSubmissionId($webform);
}
/**
* Post a new test submission to a webform node.
*
* @param \Drupal\node\NodeInterface $node
* A Webform node.
* @param array $edit
* Submission values.
* @param string $submit
* Value of the submit button whose click is to be emulated.
* @param array $options
* Options to be forwarded to the url generator.
*
* @return int
* The created submission's sid.
*
* @see \Drupal\webform\Tests\WebformTestBase::postSubmission
*/
protected function postNodeSubmissionTest(NodeInterface $node, array $edit = [], $submit = NULL, array $options = []) {
/** @var \Drupal\webform\WebformEntityReferenceManagerInterface $entity_reference_manager */
$entity_reference_manager = \Drupal::service('webform.entity_reference_manager');
$webform = $entity_reference_manager
->getWebform($node);
$submit = $this
->getWebformSubmitButtonLabel($webform, $submit);
$this
->drupalPostForm('/node/' . $node
->id() . '/webform/test', $edit, $submit, $options);
return $this
->getLastSubmissionId($webform);
}
/**
* Create a webform node.
*
* @param string $webform_id
* A webform id.
* @param array $settings
* (optional) An associative array of settings for the node, as used in
* entity_create().
*
* @return \Drupal\node\NodeInterface
* A webform node.
*/
protected function createWebformNode($webform_id, array $settings = []) {
$settings += [
'type' => 'webform',
];
$node = $this
->drupalCreateNode($settings);
$node->webform->target_id = $webform_id;
$node->webform->status = WebformInterface::STATUS_OPEN;
$node->webform->open = '';
$node->webform->close = '';
$node
->save();
return $node;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
WebformNodeBrowserTestTrait:: |
protected | function | Create a webform node. | |
WebformNodeBrowserTestTrait:: |
protected | function | Post a new submission to a webform node. | |
WebformNodeBrowserTestTrait:: |
protected | function | Post a new test submission to a webform node. |