Files
piratepoet/tests/unit/Config/MenuTest.php
2017-01-27 16:22:09 +03:00

59 lines
1.7 KiB
PHP

<?php
use Codeception\Util\Stub;
use MailPoet\Config\Menu;
use MailPoet\Config\Renderer;
use MailPoet\Config\ServicesChecker;
class MenuTest extends MailPoetTest {
function testItReturnsTrueIfCurrentPageBelongsToMailpoet() {
$result = Menu::isOnMailPoetAdminPage(null, 'somepage');
expect($result)->false();
$result = Menu::isOnMailPoetAdminPage(null, 'mailpoet-newsletters');
expect($result)->true();
}
function testItRespectsExclusionsWhenCheckingMPPages() {
$exclude = array('mailpoet-welcome');
$result = Menu::isOnMailPoetAdminPage($exclude, 'mailpoet-welcome');
expect($result)->false();
$result = Menu::isOnMailPoetAdminPage($exclude, 'mailpoet-newsletters');
expect($result)->true();
}
function testItWorksWithRequestDataWhenCheckingMPPages() {
$_REQUEST['page'] = 'mailpoet-newsletters';
$result = Menu::isOnMailPoetAdminPage();
expect($result)->true();
$_REQUEST['page'] = 'blah';
$result = Menu::isOnMailPoetAdminPage();
expect($result)->false();
unset($_REQUEST['page']);
$result = Menu::isOnMailPoetAdminPage();
expect($result)->false();
}
function testItChecksMailpoetAPIKey() {
$renderer = Stub::make(new Renderer());
$assets_url = '';
$menu = new Menu($renderer, $assets_url);
$_REQUEST['page'] = 'mailpoet-newsletters';
$checker = Stub::make(
new ServicesChecker(),
array('checkMailPoetAPIKeyValid' => true),
$this
);
$menu->checkMailPoetAPIKey($checker);
expect($menu->mp_api_key_valid)->true();
$checker = Stub::make(
new ServicesChecker(),
array('checkMailPoetAPIKeyValid' => false),
$this
);
$menu->checkMailPoetAPIKey($checker);
expect($menu->mp_api_key_valid)->false();
}
}