Files
piratepoet/mailpoet/tests/integration/Router/Endpoints/SubscriptionTest.php
2022-11-11 09:21:30 +01:00

62 lines
1.7 KiB
PHP

<?php
namespace MailPoet\Test\Router\Endpoints;
use Codeception\Stub;
use Codeception\Stub\Expected;
use MailPoet\Router\Endpoints\Subscription;
use MailPoet\Subscription\Captcha;
use MailPoet\Subscription\Pages;
use MailPoet\Util\Request;
use MailPoet\WP\Functions as WPFunctions;
class SubscriptionTest extends \MailPoetTest {
public $data;
/** @var WPFunctions */
private $wp;
/** @var Captcha */
private $captcha;
/*** @var Request */
private $request;
public function _before() {
$this->data = [];
$this->wp = WPFunctions::get();
$this->captcha = $this->diContainer->get(Captcha::class);
$this->request = $this->diContainer->get(Request::class);
}
public function testItDisplaysConfirmPage() {
$pages = Stub::make(Pages::class, [
'wp' => $this->wp,
'confirm' => Expected::exactly(1),
], $this);
$subscription = new Subscription($pages, $this->wp, $this->captcha, $this->request);
$subscription->confirm($this->data);
}
public function testItDisplaysManagePage() {
$pages = Stub::make(Pages::class, [
'wp' => new WPFunctions,
'getManageLink' => Expected::exactly(1),
'getManageContent' => Expected::exactly(1),
], $this);
$subscription = new Subscription($pages, $this->wp, $this->captcha, $this->request);
$subscription->manage($this->data);
do_shortcode('[mailpoet_manage]');
do_shortcode('[mailpoet_manage_subscription]');
}
public function testItDisplaysUnsubscribePage() {
$pages = Stub::make(Pages::class, [
'wp' => new WPFunctions,
'unsubscribe' => Expected::exactly(1),
], $this);
$subscription = new Subscription($pages, $this->wp, $this->captcha, $this->request);
$subscription->unsubscribe($this->data);
}
}