Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Acl/tests/TestCase/Model/AclPermissionTest.php
<?php

namespace Croogo\Acl\Test\TestCase\Model;

use
Acl\Model\AclPermission;
use
Croogo\TestSuite\CroogoTestCase;

class
AclPermissionTest extends CroogoTestCase
{

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

   
/**
     * setUp
     */
   
public function setUp()
    {
       
parent::setUp();
       
$this->Permission = ClassRegistry::init('Acl.AclPermission');
       
$this->Permission->allow(
            [
'model' => 'Role', 'foreign_key' => 1],
           
'controllers/AclActions'
       
);
    }

   
/**
     * testPermissionCacheClearedAfterSave
     */
   
public function testPermissionCacheClearedAfterSave()
    {
       
$key = 'permission_cache';
       
$value = 'cached valued';
       
$config = 'permissions';
       
$result = Cache::write($key, $value, $config);
       
$this->assertTrue($result);

       
$result = Cache::read($key, $config);
       
$this->assertEquals($value, $result);

       
$this->Permission->allow(
            [
'model' => 'Role', 'foreign_key' => 1],
           
'controllers/AclActions'
       
);

       
$expected = false;
       
$result = Cache::read($key, $config);
       
$this->assertEquals($expected, $result);
    }

   
/**
     * testNoDuplicateActions
     */
   
public function testNoDuplicateActions()
    {
       
$permissions = $this->Permission->getAllowedActionsByUserId(3);
       
$expected = count(array_unique($permissions));
       
$this->assertEquals($expected, count($permissions));
    }
}