Files
piratepoet/mailpoet/tests/integration/Form/WidgetTest.php
Jan Jakes 9f790efbf0 Move plugin files to a subfolder
[MAILPOET-3988]
2022-01-18 15:30:22 +01:00

57 lines
1.4 KiB
PHP

<?php
namespace MailPoet\Test\Form;
use MailPoet\Entities\FormEntity;
use MailPoet\Form\Widget;
use MailPoet\Util\pQuery\pQuery;
use MailPoet\WP\Functions as WPFunctions;
class WidgetTest extends \MailPoetTest {
public function testItAllowsModifyingRenderedFormWidgetViaHook() {
$form = new FormEntity('Test Form');
$form->setBody([
[
'type' => 'text',
'id' => 'email',
],
]);
$form->setSettings([
'success_message' => 'Hello!',
]);
$this->entityManager->persist($form);
$this->entityManager->flush();
$formWidget = new Widget();
// form target is set to _self by default
$renderedFormWidget = $formWidget->widget(
[],
[
'form' => $form->getId(),
'form_type' => 'html',
]
);
$DOM = pQuery::parseStr($renderedFormWidget);
expect($DOM->query('form')->attr('target'))->equals('_self');
// form target is modified to _top via hook
(new WPFunctions)->addFilter(
'mailpoet_form_widget_post_process',
function($form) {
$form = str_replace('target="_self"', 'target="_top"', $form);
return $form;
}
);
$renderedFormWidget = $formWidget->widget(
[],
[
'form' => $form->getId(),
'form_type' => 'html',
]
);
$DOM = pQuery::parseStr($renderedFormWidget);
expect($DOM->query('form')->attr('target'))->equals('_top');
}
}