[ticket/378] Add functional test and correct check in listener
B3P-378
This commit is contained in:
@@ -134,6 +134,6 @@ class listener implements EventSubscriberInterface
|
|||||||
*/
|
*/
|
||||||
protected function has_portal_access()
|
protected function has_portal_access()
|
||||||
{
|
{
|
||||||
return $this->auth->acl_get('u_view_portal') && $this->config['board3_portal_enable'];
|
return $this->auth->acl_get('u_view_portal') && $this->config['board3_enable'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
70
tests/functional/portal_link_test.php
Normal file
70
tests/functional/portal_link_test.php
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2014 Board3 Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group functional
|
||||||
|
*/
|
||||||
|
class phpbb_functional_portal_link_test extends \board3\portal\tests\testframework\functional_test_case
|
||||||
|
{
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->login();
|
||||||
|
$this->admin_login();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_portal_link()
|
||||||
|
{
|
||||||
|
$crawler = self::request('GET', 'index.php?sid=' . $this->sid);
|
||||||
|
$this->assertContains('Portal', $crawler->text());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_disabled_portal_link()
|
||||||
|
{
|
||||||
|
// Disable portal
|
||||||
|
$crawler = self::request('GET', 'adm/index.php?i=-board3-portal-acp-portal_module&mode=config&sid=' . $this->sid);
|
||||||
|
$form = $crawler->selectButton('Submit')->form();
|
||||||
|
$form->setValues(array(
|
||||||
|
'config[board3_enable]' => 0,
|
||||||
|
));
|
||||||
|
$crawler = self::submit($form);
|
||||||
|
|
||||||
|
// Should be updated
|
||||||
|
$this->assertContainsLang('CONFIG_UPDATED', $crawler->text());
|
||||||
|
|
||||||
|
// Look for portal link on index
|
||||||
|
$crawler = self::request('GET', 'index.php?sid=' . $this->sid);
|
||||||
|
$vals = $crawler->filter('#nav-breadcrumbs')->each(function (\Symfony\Component\DomCrawler\Crawler $node, $i) {
|
||||||
|
return $node->text();
|
||||||
|
});
|
||||||
|
foreach ($vals as $val)
|
||||||
|
{
|
||||||
|
$this->assertNotContains('Portal', $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try to access portal directly
|
||||||
|
$crawler = self::request('GET', 'app.php/portal?sid=' . $this->sid);
|
||||||
|
$vals = $crawler->filter('#nav-breadcrumbs')->each(function (\Symfony\Component\DomCrawler\Crawler $node, $i) {
|
||||||
|
return $node->text();
|
||||||
|
});
|
||||||
|
foreach ($vals as $val)
|
||||||
|
{
|
||||||
|
$this->assertNotContains('Portal', $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable portal again
|
||||||
|
$crawler = self::request('GET', 'adm/index.php?i=-board3-portal-acp-portal_module&mode=config&sid=' . $this->sid);
|
||||||
|
$form = $crawler->selectButton('Submit')->form();
|
||||||
|
$form->setValues(array(
|
||||||
|
'config[board3_enable]' => 1,
|
||||||
|
));
|
||||||
|
self::submit($form);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user