Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Acl/tests/TestCase/View/Helper/AclHelperTest.php
<?php

namespace Croogo\Acl\Test\TestCase\View\Helper;

use
Acl\View\Helper\AclHelper;
use
Croogo\TestSuite\CroogoTestCase;

class
AclHelperTest extends CroogoTestCase
{

    public
$fixtures = [
       
'plugin.Croogo/Users.User',
       
'plugin.Croogo/Users.Role',
       
'plugin.Croogo/Users.Aro',
       
'plugin.Croogo/Users.Aco',
       
'plugin.Croogo/Users.ArosAco',
    ];

    public function
setUp()
    {
       
parent::setUp();
       
$View = $this->getMock('View');
       
$this->AclHelper = $this->getMock('AclHelper', null, [$View]);
    }

   
/**
     * testLinkIsAllowedByRoleId
     */
   
public function testLinkIsAllowedByRoleId()
    {
       
Cache::clearGroup('acl', 'permissions');
       
$resetUrl = [
           
'controller' => 'Users',
           
'action' => 'reset',
        ];
       
$nodeViewUrl = [
           
'controller' => 'Nodes',
           
'action' => 'view',
        ];

       
$result = $this->AclHelper->linkIsAllowedByRoleId(2, $nodeViewUrl);
       
$this->assertTrue($result);

       
// Public role must not have access to users/reset
       
$result = $this->AclHelper->linkIsAllowedByRoleId(2, $resetUrl);
       
$this->assertFalse($result);

       
$result = $this->AclHelper->linkIsAllowedByRoleId(3, $nodeViewUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByRoleId(3, $resetUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByRoleId(3, '#');
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByRoleId(3, '/admin');
       
$this->assertFalse($result);
    }

   
/**
     * testLinkIsAllowedByUserId
     */
   
public function testLinkIsAllowedByUserId()
    {
       
Cache::clearGroup('acl', 'permissions');
       
$resetUrl = 'controllers/Users/reset';
       
$nodeViewUrl = 'controllers/Nodes/view';

       
$result = $this->AclHelper->linkIsAllowedByUserId(3, $nodeViewUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByUserId(3, $resetUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByUserId(2, $nodeViewUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByUserId(2, $resetUrl);
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByUserId(3, '#');
       
$this->assertTrue($result);

       
$result = $this->AclHelper->linkIsAllowedByUserId(3, '/admin');
       
$this->assertFalse($result);
    }
}