Move select block integration test to unit test
[MAILPOET-2665]
This commit is contained in:
committed by
Jack Kitterhing
parent
c1180cd0aa
commit
f0c1c3e424
@@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Form\Block;
|
namespace MailPoet\Form\Block;
|
||||||
|
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
|
||||||
|
|
||||||
class Select extends Base {
|
class Select extends Base {
|
||||||
|
|
||||||
public function render($block) {
|
public function render($block) {
|
||||||
@@ -55,7 +53,7 @@ class Select extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$html .= '<option value="' . $value . '"' . $isSelected . $isDisabled . '>';
|
$html .= '<option value="' . $value . '"' . $isSelected . $isDisabled . '>';
|
||||||
$html .= WPFunctions::get()->escAttr($label);
|
$html .= $this->wp->escAttr($label);
|
||||||
$html .= '</option>';
|
$html .= '</option>';
|
||||||
}
|
}
|
||||||
$html .= '</select>';
|
$html .= '</select>';
|
||||||
|
@@ -3,12 +3,31 @@
|
|||||||
namespace MailPoet\Test\Form\Block;
|
namespace MailPoet\Test\Form\Block;
|
||||||
|
|
||||||
use MailPoet\Form\Block\Select;
|
use MailPoet\Form\Block\Select;
|
||||||
|
use MailPoet\Form\Util\FieldNameObfuscator;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
|
use MailPoet\WP\Functions;
|
||||||
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
|
|
||||||
|
class SelectTest extends \MailPoetUnitTest {
|
||||||
|
/** @var array */
|
||||||
|
private $block;
|
||||||
|
|
||||||
|
/** @var Select */
|
||||||
|
private $selectBlock;
|
||||||
|
|
||||||
|
/** @var MockObject | Functions */
|
||||||
|
private $wpMock;
|
||||||
|
|
||||||
|
/** @var MockObject | FieldNameObfuscator */
|
||||||
|
private $fieldNameObfuscatorMock;
|
||||||
|
|
||||||
class SelectTest extends \MailPoetTest {
|
|
||||||
public $block;
|
|
||||||
public function _before() {
|
public function _before() {
|
||||||
parent::_before();
|
parent::_before();
|
||||||
|
$this->wpMock = $this->createMock(Functions::class);
|
||||||
|
$this->wpMock->method('escAttr')->will($this->returnArgument(0));
|
||||||
|
$this->fieldNameObfuscatorMock = $this->createMock(FieldNameObfuscator::class);
|
||||||
|
$this->fieldNameObfuscatorMock->method('obfuscate')->will($this->returnArgument(0));
|
||||||
|
$this->selectBlock = new Select($this->fieldNameObfuscatorMock, $this->wpMock);
|
||||||
$this->block = [
|
$this->block = [
|
||||||
'id' => 'status',
|
'id' => 'status',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
@@ -42,7 +61,7 @@ class SelectTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testItRendersSelectBlock() {
|
public function testItRendersSelectBlock() {
|
||||||
$rendered = Select::render($this->block);
|
$rendered = $this->selectBlock->render($this->block);
|
||||||
expect($rendered)->contains(Subscriber::STATUS_SUBSCRIBED);
|
expect($rendered)->contains(Subscriber::STATUS_SUBSCRIBED);
|
||||||
expect($rendered)->contains(Subscriber::STATUS_UNSUBSCRIBED);
|
expect($rendered)->contains(Subscriber::STATUS_UNSUBSCRIBED);
|
||||||
expect($rendered)->contains(Subscriber::STATUS_BOUNCED);
|
expect($rendered)->contains(Subscriber::STATUS_BOUNCED);
|
||||||
@@ -50,19 +69,19 @@ class SelectTest extends \MailPoetTest {
|
|||||||
|
|
||||||
public function testItRendersSelectedOption() {
|
public function testItRendersSelectedOption() {
|
||||||
$this->block['params']['values'][0]['is_checked'] = true;
|
$this->block['params']['values'][0]['is_checked'] = true;
|
||||||
$rendered = Select::render($this->block);
|
$rendered = $this->selectBlock->render($this->block);
|
||||||
expect($rendered)->contains('selected="selected"');
|
expect($rendered)->contains('selected="selected"');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItRendersDisabledOptions() {
|
public function testItRendersDisabledOptions() {
|
||||||
$this->block['params']['values'][2]['is_disabled'] = true;
|
$this->block['params']['values'][2]['is_disabled'] = true;
|
||||||
$rendered = Select::render($this->block);
|
$rendered = $this->selectBlock->render($this->block);
|
||||||
expect($rendered)->contains('disabled="disabled"');
|
expect($rendered)->contains('disabled="disabled"');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItDoesNotRenderHiddenOptions() {
|
public function testItDoesNotRenderHiddenOptions() {
|
||||||
$this->block['params']['values'][2]['is_hidden'] = true;
|
$this->block['params']['values'][2]['is_hidden'] = true;
|
||||||
$rendered = Select::render($this->block);
|
$rendered = $this->selectBlock->render($this->block);
|
||||||
expect($rendered)->notContains(Subscriber::STATUS_BOUNCED);
|
expect($rendered)->notContains(Subscriber::STATUS_BOUNCED);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user