Add an integration test for fetch() in settings controller [MAILPOET-1483]
This commit is contained in:
@ -120,7 +120,7 @@ class SettingsController {
|
||||
private function getDefaultValue($keys) {
|
||||
$default = $this->getAllDefaults();
|
||||
foreach ($keys as $key) {
|
||||
if (is_array($default) && array_key_exists($key, $default)) {
|
||||
if (array_key_exists($key, $default)) {
|
||||
$default = $default[$key];
|
||||
} else {
|
||||
return null;
|
||||
|
@ -39,6 +39,15 @@ class SettingsControllerTest extends \MailPoetTest {
|
||||
$this->assertEquals('default', $this->controller->get('test_key.wrong_subkey', 'default'));
|
||||
}
|
||||
|
||||
function testItCanFetchValuesFromDB() {
|
||||
$this->assertEquals(null, $this->controller->fetch('test_key'));
|
||||
$this->assertEquals(null, $this->controller->fetch('test_key.sub_key'));
|
||||
$this->assertEquals('default', $this->controller->fetch('test_key.wrong_subkey', 'default'));
|
||||
Setting::createOrUpdate(['name' => 'test_key', 'value' => serialize(['sub_key' => 'value'])]);
|
||||
$this->assertEquals('default', $this->controller->get('test_key.sub_key', 'default'));
|
||||
$this->assertEquals('value', $this->controller->fetch('test_key.sub_key', 'default'));
|
||||
}
|
||||
|
||||
function testItReturnsDefaultValueAsFallback() {
|
||||
$settings = Stub::make($this->controller, [
|
||||
'getAllDefaults' => function () {
|
||||
|
Reference in New Issue
Block a user