Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Users/tests/TestCase/Controller/RolesControllerTest.php
<?php
namespace Croogo\Users\Test\TestCase\Controller;

use
Croogo\Core\TestSuite\CroogoControllerTestCase;

class
RolesControllerTest extends CroogoControllerTestCase
{

    public
$fixtures = [
       
'plugin.Croogo/Users.Role',
       
'plugin.Croogo/Users.User',
       
'plugin.Croogo/Users.Aco',
       
'plugin.Croogo/Users.Aro',
       
'plugin.Croogo/Users.ArosAco',
//      'plugin.Croogo/Blocks.Block',
//      'plugin.Croogo/Comments.Comment',
//      'plugin.Croogo/Contacts.Contact',
//      'plugin.Croogo/Translate.I18n',
       
'plugin.Croogo/Settings.Language',
//      'plugin.Croogo/Menus.Link',
//      'plugin.Croogo/Menus.Menu',
//      'plugin.Croogo/Contacts.Message',
//      'plugin.Croogo/Meta.Meta',
       
'plugin.Croogo/Nodes.Node',
//      'plugin.Croogo/Taxonomy.ModelTaxonomy',
//      'plugin.Croogo/Blocks.Region',
       
'plugin.Croogo/Settings.Setting',
//      'plugin.Croogo/Taxonomy.Taxonomy',
//      'plugin.Croogo/Taxonomy.Term',
//      'plugin.Croogo/Taxonomy.Type',
//      'plugin.Croogo/Taxonomy.TypesVocabulary',
//      'plugin.Croogo/Taxonomy.Vocabulary',
   
];

   
/**
     * setUp
     *
     * @return void
     */
   
public function setUp()
    {
       
parent::setUp();
       
$this->RolesController = $this->generate('Users.Roles', [
           
'methods' => [
               
'redirect',
            ],
           
'components' => [
               
'Auth' => ['user'],
               
'Session',
               
'Menus.Menus',
            ],
        ]);
       
$this->controller->Auth
           
->staticExpects($this->any())
            ->
method('user')
            ->
will($this->returnCallback([$this, 'authUserCallback']));
    }

   
/**
     * tearDown
     *
     * @return void
     */
   
public function tearDown()
    {
       
parent::tearDown();
        unset(
$this->RolesController);
    }

   
/**
     * testAdminIndex
     *
     * @return void
     */
   
public function testAdminIndex()
    {
       
$this->testAction('/admin/users/roles/index');
       
$this->assertNotEmpty($this->vars['displayFields']);
       
$this->assertNotEmpty($this->vars['roles']);
    }

   
/**
     * testAdminAdd
     *
     * @return void
     */
   
public function testAdminAdd()
    {
       
$this->expectFlashAndRedirect('The Role has been saved');
       
$this->testAction('admin/users/roles/add', [
           
'data' => [
               
'Role' => [
                   
'title' => 'new_role',
                   
'alias' => 'new_role',
                ],
            ],
        ]);
       
$newRole = $this->RolesController->Role->findByAlias('new_role');
       
$this->assertEqual($newRole['Role']['title'], 'new_role');
    }

   
/**
     * testAdminIndex
     *
     * @return void
     */
   
public function testAdminEdit()
    {
       
$this->expectFlashAndRedirect('The Role has been saved');
       
$this->testAction('/admin/users/roles/edit/1', [
           
'data' => [
               
'Role' => [
                   
'id' => 2, // Registered
                   
'title' => 'Registered [modified]',
                ],
            ],
        ]);
       
$registered = $this->controller->Role->findByAlias('registered');
       
$this->assertEquals('Registered [modified]', $registered['Role']['title']);
    }

   
/**
     * testAdminDelete
     *
     * @return void
     */
   
public function testAdminDelete()
    {
       
$this->expectFlashAndRedirect('Role deleted');
       
$this->testAction('/admin/users/roles/delete/1'); // ID of Admin
       
$hasAny = $this->RolesController->Role->hasAny([
           
'Role.alias' => 'admin',
        ]);
       
$this->assertFalse($hasAny);
    }
}