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;
|
||||
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Select extends Base {
|
||||
|
||||
public function render($block) {
|
||||
@@ -55,7 +53,7 @@ class Select extends Base {
|
||||
}
|
||||
|
||||
$html .= '<option value="' . $value . '"' . $isSelected . $isDisabled . '>';
|
||||
$html .= WPFunctions::get()->escAttr($label);
|
||||
$html .= $this->wp->escAttr($label);
|
||||
$html .= '</option>';
|
||||
}
|
||||
$html .= '</select>';
|
||||
|
@@ -3,12 +3,31 @@
|
||||
namespace MailPoet\Test\Form\Block;
|
||||
|
||||
use MailPoet\Form\Block\Select;
|
||||
use MailPoet\Form\Util\FieldNameObfuscator;
|
||||
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() {
|
||||
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 = [
|
||||
'id' => 'status',
|
||||
'type' => 'select',
|
||||
@@ -42,7 +61,7 @@ class SelectTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
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_UNSUBSCRIBED);
|
||||
expect($rendered)->contains(Subscriber::STATUS_BOUNCED);
|
||||
@@ -50,19 +69,19 @@ class SelectTest extends \MailPoetTest {
|
||||
|
||||
public function testItRendersSelectedOption() {
|
||||
$this->block['params']['values'][0]['is_checked'] = true;
|
||||
$rendered = Select::render($this->block);
|
||||
$rendered = $this->selectBlock->render($this->block);
|
||||
expect($rendered)->contains('selected="selected"');
|
||||
}
|
||||
|
||||
public function testItRendersDisabledOptions() {
|
||||
$this->block['params']['values'][2]['is_disabled'] = true;
|
||||
$rendered = Select::render($this->block);
|
||||
$rendered = $this->selectBlock->render($this->block);
|
||||
expect($rendered)->contains('disabled="disabled"');
|
||||
}
|
||||
|
||||
public function testItDoesNotRenderHiddenOptions() {
|
||||
$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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user