Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Settings/tests/TestCase/Model/Table/SettingsTableTest.php
<?php
namespace Croogo\Settings\Test\TestCase\Model;

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

/**
 * @property \Croogo\Settings\Model\Table\SettingsTable Settings
 */
class SettingsTableTest extends TestCase
{
    public
$fixtures = [
       
'plugin.Croogo/Core.Settings',
    ];

    public function
setUp()
    {
       
parent::setUp();

       
$this->Settings = TableRegistry::get('Croogo/Settings.Settings');
    }

    public function
testWriteNew()
    {
       
$this->Settings->write('Prefix.key', 'value');
       
$prefixAnything = $this->Settings->findByKey('Prefix.key')->first();
       
$this->assertEquals('value', $prefixAnything->value);
    }

    public function
testWriteUpdate()
    {
       
$this->Settings->write('Site.title', 'My new site title', ['editable' => 1]);
       
$siteTitle = $this->Settings->findByKey('Site.title')->first();
       
$this->assertEquals('My new site title', $siteTitle->value);

       
$this->Settings->write('Site.title', 'My new site title', ['input_type' => 'checkbox']);
       
$siteTitle = $this->Settings->findByKey('Site.title')->first();
       
$this->assertTrue($siteTitle->editable);

       
$this->Settings->write('Site.title', 'My new site title', ['input_type' => 'textarea', 'editable' => false]);
       
$siteTitle = $this->Settings->findByKey('Site.title')->first();
       
$this->assertEquals('textarea', $siteTitle->input_type);
       
$this->assertFalse($siteTitle->editable);
    }

    public function
testDeleteKey()
    {
       
$this->Settings->write('Prefix.key', 'value');
       
$this->Settings->deleteKey('Prefix.key');
       
$hasAny = $this->Settings->exists([
           
'Settings.key' => 'Prefix.key',
        ]);
       
$this->assertFalse($hasAny);
    }
}