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) {
|
private function getDefaultValue($keys) {
|
||||||
$default = $this->getAllDefaults();
|
$default = $this->getAllDefaults();
|
||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
if (is_array($default) && array_key_exists($key, $default)) {
|
if (array_key_exists($key, $default)) {
|
||||||
$default = $default[$key];
|
$default = $default[$key];
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
|
@ -39,6 +39,15 @@ class SettingsControllerTest extends \MailPoetTest {
|
|||||||
$this->assertEquals('default', $this->controller->get('test_key.wrong_subkey', 'default'));
|
$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() {
|
function testItReturnsDefaultValueAsFallback() {
|
||||||
$settings = Stub::make($this->controller, [
|
$settings = Stub::make($this->controller, [
|
||||||
'getAllDefaults' => function () {
|
'getAllDefaults' => function () {
|
||||||
|
Reference in New Issue
Block a user