Rename Base to BlockRendererHelper
[MAILPOET-2665]
This commit is contained in:
committed by
Jack Kitterhing
parent
314ce6ed8a
commit
866167b597
@@ -172,7 +172,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\Form\FormsRepository::class);
|
||||
$container->autowire(\MailPoet\Form\Renderer::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Form\BlocksRenderer::class);
|
||||
$container->autowire(\MailPoet\Form\Block\Base::class);
|
||||
$container->autowire(\MailPoet\Form\Block\BlockRendererHelper::class);
|
||||
$container->autowire(\MailPoet\Form\Block\Checkbox::class);
|
||||
$container->autowire(\MailPoet\Form\Block\Date::class);
|
||||
$container->autowire(\MailPoet\Form\Block\Divider::class);
|
||||
|
@@ -6,7 +6,11 @@ use MailPoet\Form\Util\FieldNameObfuscator;
|
||||
use MailPoet\Models\ModelValidator;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Base {
|
||||
/**
|
||||
* This class still covers several responsibilities and could be further refactored
|
||||
* @package MailPoet\Form\Block
|
||||
*/
|
||||
class BlockRendererHelper {
|
||||
|
||||
/** @var FieldNameObfuscator */
|
||||
private $fieldNameObfuscator;
|
@@ -6,33 +6,33 @@ use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Checkbox {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(Base $baseRenderer, WPFunctions $wp) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
|
||||
$fieldName = 'data[' . $this->baseRenderer->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->baseRenderer->getInputValidation($block);
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
? $block['params']['values']
|
||||
: []
|
||||
);
|
||||
|
||||
$selectedValue = $this->baseRenderer->getFieldValue($block);
|
||||
$selectedValue = $this->rendererHelper->getFieldValue($block);
|
||||
|
||||
foreach ($options as $option) {
|
||||
$html .= '<label class="mailpoet_checkbox_label">';
|
||||
|
@@ -4,17 +4,17 @@ namespace MailPoet\Form\Block;
|
||||
|
||||
class Date {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(Base $baseRenderer) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
$html .= $this->renderDateSelect($block);
|
||||
$html .= '</p>';
|
||||
|
||||
@@ -24,7 +24,7 @@ class Date {
|
||||
private function renderDateSelect(array $block = []): string {
|
||||
$html = '';
|
||||
|
||||
$fieldName = 'data[' . $this->baseRenderer->getFieldName($block) . ']';
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
|
||||
$dateFormats = $this->getDateFormats();
|
||||
|
||||
@@ -43,7 +43,7 @@ class Date {
|
||||
foreach ($dateSelectors as $dateSelector) {
|
||||
if ($dateSelector === 'DD') {
|
||||
$html .= '<select class="mailpoet_date_day" ';
|
||||
$html .= $this->baseRenderer->getInputValidation($block, [
|
||||
$html .= $this->rendererHelper->getInputValidation($block, [
|
||||
'required-message' => __('Please select a day', 'mailpoet'),
|
||||
]);
|
||||
$html .= 'name="' . $fieldName . '[day]" placeholder="' . __('Day', 'mailpoet') . '">';
|
||||
@@ -51,7 +51,7 @@ class Date {
|
||||
$html .= '</select>';
|
||||
} else if ($dateSelector === 'MM') {
|
||||
$html .= '<select class="mailpoet_select mailpoet_date_month" ';
|
||||
$html .= $this->baseRenderer->getInputValidation($block, [
|
||||
$html .= $this->rendererHelper->getInputValidation($block, [
|
||||
'required-message' => __('Please select a month', 'mailpoet'),
|
||||
]);
|
||||
$html .= 'name="' . $fieldName . '[month]" placeholder="' . __('Month', 'mailpoet') . '">';
|
||||
@@ -59,7 +59,7 @@ class Date {
|
||||
$html .= '</select>';
|
||||
} else if ($dateSelector === 'YYYY') {
|
||||
$html .= '<select class="mailpoet_date_year" ';
|
||||
$html .= $this->baseRenderer->getInputValidation($block, [
|
||||
$html .= $this->rendererHelper->getInputValidation($block, [
|
||||
'required-message' => __('Please select a year', 'mailpoet'),
|
||||
]);
|
||||
$html .= 'name="' . $fieldName . '[year]" placeholder="' . __('Year', 'mailpoet') . '">';
|
||||
|
@@ -6,33 +6,33 @@ use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Radio {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(Base $baseRenderer, WPFunctions $wp) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
|
||||
$fieldName = 'data[' . $this->baseRenderer->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->baseRenderer->getInputValidation($block);
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
? $block['params']['values']
|
||||
: []
|
||||
);
|
||||
|
||||
$selectedValue = $this->baseRenderer->getFieldValue($block);
|
||||
$selectedValue = $this->rendererHelper->getFieldValue($block);
|
||||
|
||||
foreach ($options as $option) {
|
||||
$html .= '<label class="mailpoet_radio_label">';
|
||||
|
@@ -6,26 +6,26 @@ use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Segment {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(Base $baseRenderer, WPFunctions $wp) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
|
||||
$fieldName = 'data[' . $this->baseRenderer->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->baseRenderer->getInputValidation($block);
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
? $block['params']['values']
|
||||
|
@@ -6,28 +6,28 @@ use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Select {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(Base $baseRenderer, WPFunctions $wp) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
|
||||
$fieldName = 'data[' . $this->baseRenderer->getFieldName($block) . ']';
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$automationId = ($block['id'] == 'status') ? 'data-automation-id="form_status"' : '';
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
$html .= '<select class="mailpoet_select" name="' . $fieldName . '" ' . $automationId . '>';
|
||||
|
||||
if (isset($block['params']['label_within']) && $block['params']['label_within']) {
|
||||
$label = $this->baseRenderer->getFieldLabel($block);
|
||||
$label = $this->rendererHelper->getFieldLabel($block);
|
||||
if (!empty($block['params']['required'])) {
|
||||
$label .= ' *';
|
||||
}
|
||||
@@ -51,7 +51,7 @@ class Select {
|
||||
$isSelected = (
|
||||
(isset($option['is_checked']) && $option['is_checked'])
|
||||
||
|
||||
($this->baseRenderer->getFieldValue($block) === $option['value'])
|
||||
($this->rendererHelper->getFieldValue($block) === $option['value'])
|
||||
) ? ' selected="selected"' : '';
|
||||
|
||||
$isDisabled = (!empty($option['is_disabled'])) ? ' disabled="disabled"' : '';
|
||||
|
@@ -4,11 +4,11 @@ namespace MailPoet\Form\Block;
|
||||
|
||||
class Submit {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(Base $baseRenderer) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
@@ -16,7 +16,7 @@ class Submit {
|
||||
|
||||
$html .= '<p class="mailpoet_paragraph"><input type="submit" class="mailpoet_submit" ';
|
||||
|
||||
$html .= 'value="' . $this->baseRenderer->getFieldLabel($block) . '" ';
|
||||
$html .= 'value="' . $this->rendererHelper->getFieldLabel($block) . '" ';
|
||||
|
||||
$html .= 'data-automation-id="subscribe-submit-button" ';
|
||||
|
||||
|
@@ -4,11 +4,11 @@ namespace MailPoet\Form\Block;
|
||||
|
||||
class Text {
|
||||
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(Base $baseRenderer) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
@@ -21,23 +21,23 @@ class Text {
|
||||
|
||||
$html = '<p class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
|
||||
$html .= '<input type="' . $type . '" class="mailpoet_text" ';
|
||||
|
||||
$html .= 'name="data[' . $this->baseRenderer->getFieldName($block) . ']" ';
|
||||
$html .= 'name="data[' . $this->rendererHelper->getFieldName($block) . ']" ';
|
||||
|
||||
$html .= 'title="' . $this->baseRenderer->getFieldLabel($block) . '" ';
|
||||
$html .= 'title="' . $this->rendererHelper->getFieldLabel($block) . '" ';
|
||||
|
||||
$html .= 'value="' . $this->baseRenderer->getFieldValue($block) . '" ';
|
||||
$html .= 'value="' . $this->rendererHelper->getFieldValue($block) . '" ';
|
||||
|
||||
$html .= $automationId;
|
||||
|
||||
$html .= $this->baseRenderer->renderInputPlaceholder($block);
|
||||
$html .= $this->rendererHelper->renderInputPlaceholder($block);
|
||||
|
||||
$html .= $this->baseRenderer->getInputValidation($block);
|
||||
$html .= $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= $this->baseRenderer->getInputModifiers($block);
|
||||
$html .= $this->rendererHelper->getInputModifiers($block);
|
||||
|
||||
$html .= '/>';
|
||||
|
||||
|
@@ -3,11 +3,11 @@
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
class Textarea {
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(Base $baseRenderer) {
|
||||
$this->baseRenderer = $baseRenderer;
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
@@ -15,21 +15,21 @@ class Textarea {
|
||||
|
||||
$html .= '<p class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->baseRenderer->renderLabel($block);
|
||||
$html .= $this->rendererHelper->renderLabel($block);
|
||||
|
||||
$lines = (isset($block['params']['lines']) ? (int)$block['params']['lines'] : 1);
|
||||
|
||||
$html .= '<textarea class="mailpoet_textarea" rows="' . $lines . '" ';
|
||||
|
||||
$html .= 'name="data[' . $this->baseRenderer->getFieldName($block) . ']"';
|
||||
$html .= 'name="data[' . $this->rendererHelper->getFieldName($block) . ']"';
|
||||
|
||||
$html .= $this->baseRenderer->renderInputPlaceholder($block);
|
||||
$html .= $this->rendererHelper->renderInputPlaceholder($block);
|
||||
|
||||
$html .= $this->baseRenderer->getInputValidation($block);
|
||||
$html .= $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= $this->baseRenderer->getInputModifiers($block);
|
||||
$html .= $this->rendererHelper->getInputModifiers($block);
|
||||
|
||||
$html .= '>' . $this->baseRenderer->getFieldValue($block) . '</textarea>';
|
||||
$html .= '>' . $this->rendererHelper->getFieldValue($block) . '</textarea>';
|
||||
|
||||
$html .= '</p>';
|
||||
|
||||
|
@@ -2,14 +2,14 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Util\FieldNameObfuscator;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
|
||||
class BaseTest extends \MailPoetUnitTest {
|
||||
/** @var Base */
|
||||
private $baseRenderer;
|
||||
class BlockRendererHelperTest extends \MailPoetUnitTest {
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var MockObject & WPFunctions */
|
||||
private $wpMock;
|
||||
@@ -36,79 +36,79 @@ class BaseTest extends \MailPoetUnitTest {
|
||||
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->obfuscatorMock = $this->createMock(FieldNameObfuscator::class);
|
||||
$this->obfuscatorMock->method('obfuscate')->will($this->returnArgument(0));
|
||||
$this->baseRenderer = new Base($this->obfuscatorMock, $this->wpMock);
|
||||
$this->rendererHelper = new BlockRendererHelper($this->obfuscatorMock, $this->wpMock);
|
||||
}
|
||||
|
||||
public function testItShouldRenderLabel() {
|
||||
$block = $this->block;
|
||||
$label = $this->baseRenderer->renderLabel($block);
|
||||
$label = $this->rendererHelper->renderLabel($block);
|
||||
expect($label)->equals('<label class="mailpoet_text_label">Input label</label>');
|
||||
|
||||
$block['params']['required'] = '1';
|
||||
$label = $this->baseRenderer->renderLabel($block);
|
||||
$label = $this->rendererHelper->renderLabel($block);
|
||||
expect($label)->equals('<label class="mailpoet_text_label">Input label <span class="mailpoet_required">*</span></label>');
|
||||
|
||||
$block['params']['hide_label'] = '1';
|
||||
$label = $this->baseRenderer->renderLabel($block);
|
||||
$label = $this->rendererHelper->renderLabel($block);
|
||||
expect($label)->equals('');
|
||||
}
|
||||
|
||||
public function testItShouldRenderPlaceholder() {
|
||||
$block = $this->block;
|
||||
$placeholder = $this->baseRenderer->renderInputPlaceholder($block);
|
||||
$placeholder = $this->rendererHelper->renderInputPlaceholder($block);
|
||||
expect($placeholder)->equals('');
|
||||
|
||||
$block['params']['label_within'] = '1';
|
||||
$placeholder = $this->baseRenderer->renderInputPlaceholder($block);
|
||||
$placeholder = $this->rendererHelper->renderInputPlaceholder($block);
|
||||
expect($placeholder)->equals(' placeholder="Input label" ');
|
||||
|
||||
$block['params']['required'] = '1';
|
||||
$placeholder = $this->baseRenderer->renderInputPlaceholder($block);
|
||||
$placeholder = $this->rendererHelper->renderInputPlaceholder($block);
|
||||
expect($placeholder)->equals(' placeholder="Input label *" ');
|
||||
}
|
||||
|
||||
public function testItShouldRenderInputValidations() {
|
||||
$block = $this->block;
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('');
|
||||
|
||||
$block['params']['required'] = '1';
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('data-parsley-required="true" data-parsley-required-message="This field is required."');
|
||||
|
||||
$block['params']['required'] = '0';
|
||||
$block['id'] = 'email';
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('data-parsley-required="true" data-parsley-minlength="6" data-parsley-maxlength="150" data-parsley-error-message="Please specify a valid email address."');
|
||||
|
||||
$block = $this->block;
|
||||
$block['params']['validate'] = 'phone';
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('data-parsley-pattern="^[\d\+\-\.\(\)\/\s]*$" data-parsley-error-message="Please specify a valid phone number"');
|
||||
|
||||
$block = $this->block;
|
||||
$block['type'] = 'radio';
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('data-parsley-group="custom_field_1" data-parsley-errors-container=".mailpoet_error_1" data-parsley-required-message="Please select at least one option"');
|
||||
|
||||
$block = $this->block;
|
||||
$block['type'] = 'date';
|
||||
$validation = $this->baseRenderer->getInputValidation($block);
|
||||
$validation = $this->rendererHelper->getInputValidation($block);
|
||||
expect($validation)->equals('data-parsley-group="custom_field_1" data-parsley-errors-container=".mailpoet_error_1"');
|
||||
|
||||
$block = $this->block;
|
||||
$validation = $this->baseRenderer->getInputValidation($block, ['custom']);
|
||||
$validation = $this->rendererHelper->getInputValidation($block, ['custom']);
|
||||
expect($validation)->equals('data-parsley-0="custom"');
|
||||
}
|
||||
|
||||
public function testItShouldObfuscateFieldNameIfNeeded() {
|
||||
$block = $this->block;
|
||||
$fieldName = $this->baseRenderer->getFieldName($block);
|
||||
$fieldName = $this->rendererHelper->getFieldName($block);
|
||||
expect($fieldName)->equals('cf_1');
|
||||
|
||||
$obfuscatorMock = $this->createMock(FieldNameObfuscator::class);
|
||||
$obfuscatorMock->expects($this->once())->method('obfuscate')->willReturn('xyz');
|
||||
$renderer = new Base($obfuscatorMock, $this->wpMock);
|
||||
$renderer = new BlockRendererHelper($obfuscatorMock, $this->wpMock);
|
||||
|
||||
$block['id'] = 'email';
|
||||
$fieldName = $renderer->getFieldName($block);
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Checkbox;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@@ -17,8 +17,8 @@ class CheckboxTest extends \MailPoetUnitTest {
|
||||
/** @var MockObject & WPFunctions */
|
||||
private $wpMock;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -45,16 +45,16 @@ class CheckboxTest extends \MailPoetUnitTest {
|
||||
parent::_before();
|
||||
$this->wpMock = $this->createMock(WPFunctions::class);
|
||||
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->checkbox = new Checkbox($this->baseMock, $this->wpMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->checkbox = new Checkbox($this->rendererHelperMock, $this->wpMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
public function testItShouldRenderCheckbox() {
|
||||
$this->baseMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->baseMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->baseMock->expects($this->once())->method('getInputValidation')->willReturn('validation="1"');
|
||||
$this->baseMock->expects($this->once())->method('getFieldValue')->willReturn('1');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputValidation')->willReturn('validation="1"');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldValue')->willReturn('1');
|
||||
$html = $this->checkbox->render($this->block);
|
||||
$checkboxLabel = $this->htmlParser->getElementByXpath($html, "//label[@class='mailpoet_checkbox_label']");
|
||||
expect($checkboxLabel->nodeValue)->equals(' Checkbox label');
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Date;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
@@ -14,7 +14,7 @@ class DateTest extends \MailPoetUnitTest {
|
||||
/** @var Date */
|
||||
private $date;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $baseMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
@@ -38,7 +38,7 @@ class DateTest extends \MailPoetUnitTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->baseMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->date = new Date($this->baseMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Radio;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@@ -14,11 +14,11 @@ class RadioTest extends \MailPoetUnitTest {
|
||||
/** @var Radio */
|
||||
private $radio;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $baseMock;
|
||||
|
||||
/** @var MockObject & WPFunctions */
|
||||
private $wpMock;
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -46,10 +46,10 @@ class RadioTest extends \MailPoetUnitTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->wpMock = $this->createMock(WPFunctions::class);
|
||||
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->radio = new Radio($this->baseMock, $this->wpMock);
|
||||
$this->rendererHelperMock = $this->createMock(WPFunctions::class);
|
||||
$this->rendererHelperMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->baseMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->radio = new Radio($this->baseMock, $this->rendererHelperMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Segment;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@@ -17,8 +17,8 @@ class SegmentTest extends \MailPoetUnitTest {
|
||||
/** @var MockObject & WPFunctions */
|
||||
private $wpMock;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -47,15 +47,15 @@ class SegmentTest extends \MailPoetUnitTest {
|
||||
parent::_before();
|
||||
$this->wpMock = $this->createMock(WPFunctions::class);
|
||||
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->segment = new Segment($this->baseMock, $this->wpMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->segment = new Segment($this->rendererHelperMock, $this->wpMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
public function testItShouldRenderSegmets() {
|
||||
$this->baseMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->baseMock->expects($this->once())->method('getInputValidation')->willReturn('validation="1"');
|
||||
$this->baseMock->expects($this->once())->method('getFieldName')->willReturn('Segments');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputValidation')->willReturn('validation="1"');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldName')->willReturn('Segments');
|
||||
|
||||
$html = $this->segment->render($this->block);
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Select;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\WP\Functions;
|
||||
@@ -18,19 +18,19 @@ class SelectTest extends \MailPoetUnitTest {
|
||||
/** @var MockObject & Functions */
|
||||
private $wpMock;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->wpMock = $this->createMock(Functions::class);
|
||||
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->baseMock->method('getFieldName')->will($this->returnValue('select'));
|
||||
$this->baseMock->method('renderLabel')->will($this->returnValue('<label></label>'));
|
||||
$this->baseMock->method('getFieldLabel')->will($this->returnValue('Field label'));
|
||||
$this->baseMock->method('getFieldValue')->will($this->returnValue('1'));
|
||||
$this->selectBlock = new Select($this->baseMock, $this->wpMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->rendererHelperMock->method('getFieldName')->will($this->returnValue('select'));
|
||||
$this->rendererHelperMock->method('renderLabel')->will($this->returnValue('<label></label>'));
|
||||
$this->rendererHelperMock->method('getFieldLabel')->will($this->returnValue('Field label'));
|
||||
$this->rendererHelperMock->method('getFieldValue')->will($this->returnValue('1'));
|
||||
$this->selectBlock = new Select($this->rendererHelperMock, $this->wpMock);
|
||||
$this->block = [
|
||||
'id' => 'status',
|
||||
'type' => 'select',
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Submit;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
@@ -13,8 +13,8 @@ class SubmitTest extends \MailPoetUnitTest {
|
||||
/** @var Submit */
|
||||
private $submit;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -33,13 +33,13 @@ class SubmitTest extends \MailPoetUnitTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->submit = new Submit($this->baseMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->submit = new Submit($this->rendererHelperMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
public function testItShouldRenderSubmit() {
|
||||
$this->baseMock->expects($this->once())->method('getFieldLabel')->willReturn('Submit label');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldLabel')->willReturn('Submit label');
|
||||
$html = $this->submit->render($this->block);
|
||||
$input = $this->htmlParser->getElementByXpath($html, '//input');
|
||||
$type = $this->htmlParser->getAttribute($input, 'type');
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Text;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
@@ -13,8 +13,8 @@ class TextTest extends \MailPoetUnitTest {
|
||||
/** @var Text */
|
||||
private $text;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -35,19 +35,19 @@ class TextTest extends \MailPoetUnitTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->text = new Text($this->baseMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->text = new Text($this->rendererHelperMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
public function testItShouldRenderTextInput() {
|
||||
$this->baseMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->baseMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->baseMock->expects($this->once())->method('getFieldLabel')->willReturn('Input label');
|
||||
$this->baseMock->expects($this->once())->method('getInputValidation')->willReturn(' validation="1" ');
|
||||
$this->baseMock->expects($this->once())->method('getFieldValue')->willReturn('val');
|
||||
$this->baseMock->expects($this->once())->method('renderInputPlaceholder')->willReturn('');
|
||||
$this->baseMock->expects($this->once())->method('getInputModifiers')->willReturn(' modifiers="mod" ');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldLabel')->willReturn('Input label');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputValidation')->willReturn(' validation="1" ');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldValue')->willReturn('val');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderInputPlaceholder')->willReturn('');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputModifiers')->willReturn(' modifiers="mod" ');
|
||||
|
||||
$html = $this->text->render($this->block);
|
||||
$input = $this->htmlParser->getElementByXpath($html, '//input');
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Base;
|
||||
use MailPoet\Form\Block\BlockRendererHelper;
|
||||
use MailPoet\Form\Block\Textarea;
|
||||
use MailPoet\Test\Form\HtmlParser;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
@@ -13,8 +13,8 @@ class TextareaTest extends \MailPoetUnitTest {
|
||||
/** @var Textarea */
|
||||
private $textarea;
|
||||
|
||||
/** @var MockObject & Base */
|
||||
private $baseMock;
|
||||
/** @var MockObject & BlockRendererHelper */
|
||||
private $rendererHelperMock;
|
||||
|
||||
/** @var HtmlParser */
|
||||
private $htmlParser;
|
||||
@@ -36,18 +36,18 @@ class TextareaTest extends \MailPoetUnitTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->baseMock = $this->createMock(Base::class);
|
||||
$this->textarea = new Textarea($this->baseMock);
|
||||
$this->rendererHelperMock = $this->createMock(BlockRendererHelper::class);
|
||||
$this->textarea = new Textarea($this->rendererHelperMock);
|
||||
$this->htmlParser = new HtmlParser();
|
||||
}
|
||||
|
||||
public function testItShouldRenderTextarea() {
|
||||
$this->baseMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->baseMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->baseMock->expects($this->once())->method('renderInputPlaceholder')->willReturn('');
|
||||
$this->baseMock->expects($this->once())->method('getInputValidation')->willReturn(' validation="1" ');
|
||||
$this->baseMock->expects($this->once())->method('getInputModifiers')->willReturn(' modifiers="mod" ');
|
||||
$this->baseMock->expects($this->once())->method('getFieldValue')->willReturn('val');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderLabel')->willReturn('<label></label>');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldName')->willReturn('Field name');
|
||||
$this->rendererHelperMock->expects($this->once())->method('renderInputPlaceholder')->willReturn('');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputValidation')->willReturn(' validation="1" ');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getInputModifiers')->willReturn(' modifiers="mod" ');
|
||||
$this->rendererHelperMock->expects($this->once())->method('getFieldValue')->willReturn('val');
|
||||
|
||||
$html = $this->textarea->render($this->block);
|
||||
$textarea = $this->htmlParser->getElementByXpath($html, '//textarea');
|
||||
|
Reference in New Issue
Block a user