Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/cakephp/acl/tests/TestCase/AclShellTest.php
<?php

namespace Acl\Test\TestCase;

use
Acl\Shell\AclShell;

use
Cake\Core\Configure;
use
Cake\ORM\TableRegistry;
use
Cake\TestSuite\TestCase;

class
AclShellTest extends TestCase
{
    public
$fixtures = [
       
'app.Acos',
       
'app.Aros',
       
'app.ArosAcos',
    ];

    public function
setUp()
    {
       
parent::setUp();
       
$this->io = $this->getMockBuilder('Cake\Console\ConsoleIo')
            ->
disableOriginalConstructor()
            ->
getMock();
       
$this->Shell = $this->getMockBuilder('Acl\Shell\AclShell')
            ->
setMethods(['in', 'out', 'hr', 'err', '_stop'])
            ->
setConstructorArgs([$this->io])
            ->
getMock();
       
Configure::write('Acl.classname', 'DbAcl');
       
Configure::write('Acl.database', 'test');
       
$this->Acos = TableRegistry::getTableLocator()->get('Acl\Model\Table\AcosTable');
       
$this->Shell->startup();
    }

    public function
testCreateDeleteNode()
    {
       
$this->Shell->args = ['create', 'aco', 'ROOT', 'Controller3'];
       
$this->Shell->runCommand($this->Shell->args);

       
$node = $this->Acos->node('ROOT/Controller3')->first();
       
$this->assertNotEmpty($node);

       
$this->Shell->args = ['delete', 'aco', 'ROOT/Controller3'];
       
$this->Shell->runCommand($this->Shell->args);

       
$node = $this->Acos->node('ROOT/Controller3');
       
$this->assertEmpty($node);
    }

    public function
testSetParentNode()
    {
       
$this->Shell->args = ['create', 'aco', 'ROOT', 'Parent'];
       
$this->Shell->runCommand($this->Shell->args);

       
$this->Shell->args = ['create', 'aco', 'ROOT', 'Child'];
       
$this->Shell->runCommand($this->Shell->args);

       
$this->Shell->args = ['setparent', 'aco', 'Child', 'Parent'];
       
$this->Shell->runCommand($this->Shell->args);

       
$node = $this->Acos->node('Parent/Child')->first();
       
$this->assertNotEmpty($node);
    }
}