Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Core/tests/TestCase/CroogoTest.php
<?php

namespace Croogo\Core\Test\TestCase;

use
Cake\Core\Configure;
use
Cake\Core\Plugin;
use
Cake\ORM\TableRegistry;
use
Croogo\Core\Croogo;
use
Croogo\Core\PluginManager;
use
Croogo\Core\TestSuite\CroogoTestCase;
use
Croogo\Core\TestSuite\TestCase;

class
CroogoTest extends TestCase
{

    public
$fixtures = [
//      'plugin.Croogo/Settings.Setting',
   
];

    public function
testCrossPluginHooks()
    {
       
PluginManager::load(['Shops', 'Suppliers'], [
           
'bootstrap' => true,
        ]);

       
$Orders = TableRegistry::get('Shops.Orders');
       
$this->assertTrue($Orders->monitored);
    }

   
/**
     * test Croogo::hookApiComponent
     */
   
public function testHookApiComponent()
    {
       
$hooks = Configure::read('Hook.controller_properties');
       
Configure::write('Hook.controller_properties', []);

       
Croogo::hookApiComponent('Croogo/Example.Example', 'Example.ExampleApi');
       
Croogo::hookApiComponent('Croogo/Example.Example', [
           
'Users.UserApi' => [
               
'priority' => 2,
            ],
        ]);

       
$expected = [
           
'Croogo\Example\Controller\ExampleController' => [
               
'_apiComponents' => [
                   
'Example.ExampleApi' => [
                       
'priority' => 8,
                    ],
                   
'Users.UserApi' => [
                       
'priority' => 2,
                    ],
                ],
            ],
        ];
       
$result = Configure::read('Hook.controller_properties');
       
$this->assertEquals($expected, $result);

       
Configure::write('Hook.controller_properties', $hooks);
    }
}