123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- /*
- * This file is part of ibrand/setting.
- *
- * (c) iBrand <https://www.ibrand.cc>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- use iBrand\Component\Setting\Models\SystemSetting;
- use iBrand\Component\Setting\Repositories\EloquentSetting;
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2018/1/29
- * Time: 16:11.
- */
- class EloquentSettingTest extends BaseTest
- {
- protected $setting;
- protected function setUp()
- {
- parent::setUp(); // TODO: Change the autogenerated stub
- $this->loadMigrationsFrom(__DIR__.'/database');
- $this->setting = new EloquentSetting(new SystemSetting());
- }
- public function testSet()
- {
- //test string value.
- $setting = $this->setting->setSetting(['key' => 'value']);
- $this->assertEquals(iBrand\Component\Setting\Models\SystemSetting::class, get_class($setting));
- $this->assertEquals('key', $setting->key);
- $this->assertEquals('value', $setting->value);
- //test 0 value.
- $setting0 = $this->setting->setSetting(['key0' => 0]);
- $this->assertEquals(0, $setting0->value);
- //test "" string.
- $setting1 = $this->setting->setSetting(['key1' => '']);
- $this->assertEquals('', $setting1->value);
- //test array
- $setting2 = $this->setting->setSetting(['key2' => ['key1' => 'value1', 'key2' => 'value2']]);
- $this->assertEquals(2, count($setting2->value));
- $this->assertEquals(['key1' => 'value1', 'key2' => 'value2'], $setting2->value);
- //test bool
- $setting3 = $this->setting->setSetting(['key3' => true]);
- $this->assertTrue($setting3->value);
- $setting4 = $this->setting->setSetting(['key4' => false]);
- $this->assertFalse($setting4->value);
- $setting4 = $this->setting->setSetting([]);
- $this->assertFalse($setting4);
- }
- public function testGet()
- {
- //test string value.
- $setting = $this->setting->setSetting(['key' => 'value']);
- $this->assertEquals('value', $this->setting->getSetting('key'));
- //test 0 value.
- $setting0 = $this->setting->setSetting(['key0' => 0]);
- $this->assertEquals(0, $this->setting->getSetting('key0'));
- //test "" string.
- $setting1 = $this->setting->setSetting(['key1' => '']);
- $this->assertEquals('', $this->setting->getSetting('key1'));
- //test array
- $setting2 = $this->setting->setSetting(['key2' => ['key1' => 'value1', 'key2' => 'value2']]);
- $this->assertEquals(2, count($this->setting->getSetting('key2')));
- $this->assertEquals(['key1' => 'value1', 'key2' => 'value2'], $this->setting->getSetting('key2'));
- //test bool
- $setting3 = $this->setting->setSetting(['key3' => true]);
- $this->assertTrue($this->setting->getSetting('key3'));
- $setting4 = $this->setting->setSetting(['key4' => false]);
- $this->assertFalse($this->setting->getSetting('key4'));
- $this->assertEquals('', $this->setting->getSetting('key88'));
- $this->assertEquals(88, $this->setting->getSetting('key88',88));
- config()->set('ibrand.setting.cache',false);
- $this->assertEquals('iBrand\Component\Setting\Repositories\EloquentSetting', get_class(app('system_setting')));
- }
- }
|