Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Menus/src/Test/TestCase/Controller/MenusControllerTest.php
<?php
namespace Croogo\Menus\Test\TestCase\Controller;

use
Croogo\TestSuite\CroogoControllerTestCase;
use
Menus\Controller\MenusController;

class
MenusControllerTest extends CroogoControllerTestCase
{

    public
$fixtures = [
       
'plugin.users.aco',
       
'plugin.users.aro',
       
'plugin.users.aros_aco',
       
'plugin.blocks.block',
       
'plugin.comments.comment',
       
'plugin.contacts.contact',
       
'plugin.translate.i18n',
       
'plugin.settings.language',
       
'plugin.contacts.message',
       
'plugin.nodes.node',
       
'plugin.taxonomy.model_taxonomy',
       
'plugin.blocks.region',
       
'plugin.users.role',
       
'plugin.settings.setting',
       
'plugin.menus.menu',
       
'plugin.menus.link',
       
'plugin.meta.meta',
       
'plugin.taxonomy.taxonomy',
       
'plugin.taxonomy.term',
       
'plugin.taxonomy.type',
       
'plugin.taxonomy.types_vocabulary',
       
'plugin.users.user',
       
'plugin.taxonomy.vocabulary',
    ];

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

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

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

   
/**
     * testAdminAdd
     *
     * @return void
     */
   
public function testAdminAdd()
    {
       
$this->expectFlashAndRedirect('The Menu has been saved');
       
$mainMenu = ClassRegistry::init('Menus.Menu')->findByAlias('main');
       
$this->testAction('/admin/menus/menus/add', [
           
'data' => [
               
'Menu' => [
                   
'title' => 'New Menu',
                   
'description' => 'A new menu',
                   
'alias' => 'new',
                   
'link_count' => 0,
                ],
            ],
        ]);
       
$newMenu = $this->MenusController->Menu->findByAlias('new');
       
$this->assertEqual($newMenu['Menu']['title'], 'New Menu');
    }

   
/**
     * testAdminEdit
     *
     * @return void
     */
   
public function testAdminEdit()
    {
       
$this->expectFlashAndRedirect('The Menu has been saved');
       
$this->testAction('/admin/menus/menus/edit/1', [
           
'data' => [
               
'Menu' => [
                   
'id' => 3, // main
                   
'title' => 'Main Menu [modified]',
                ],
            ],
        ]);
       
$result = $this->MenusController->Menu->findByAlias('main');
       
$this->assertEquals('Main Menu [modified]', $result['Menu']['title']);
    }

   
/**
     * testAdminDelete
     *
     * @return void
     */
   
public function testAdminDelete()
    {
       
$this->expectFlashAndRedirect('Menu deleted');
       
$this->testAction('/admin/menus/menus/delete/4');
       
$hasAny = $this->MenusController->Menu->hasAny([
           
'Menu.alias' => 'footer',
        ]);
       
$this->assertFalse($hasAny);
    }
}