Router update for Settings and Setup + unit tests
This commit is contained in:
@ -10,17 +10,17 @@ class Settings {
|
|||||||
|
|
||||||
function get() {
|
function get() {
|
||||||
$settings = Setting::getAll();
|
$settings = Setting::getAll();
|
||||||
wp_send_json($settings);
|
return $settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
function set($settings = array()) {
|
function set($settings = array()) {
|
||||||
if(empty($settings)) {
|
if(empty($settings)) {
|
||||||
wp_send_json(false);
|
return false;
|
||||||
} else {
|
} else {
|
||||||
foreach($settings as $name => $value) {
|
foreach($settings as $name => $value) {
|
||||||
Setting::setValue($name, $value);
|
Setting::setValue($name, $value);
|
||||||
}
|
}
|
||||||
wp_send_json(true);
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,8 @@ class Setup {
|
|||||||
} catch(Exception $e) {
|
} catch(Exception $e) {
|
||||||
$result = false;
|
$result = false;
|
||||||
}
|
}
|
||||||
wp_send_json(array(
|
return array(
|
||||||
'result' => $result
|
'result' => $result
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
50
tests/unit/Router/SettingsCest.php
Normal file
50
tests/unit/Router/SettingsCest.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
use \MailPoet\Router\Settings;
|
||||||
|
use \MailPoet\Models\Setting;
|
||||||
|
|
||||||
|
class SettingsCest {
|
||||||
|
function _before() {
|
||||||
|
Setting::setValue('some.setting.key', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function itCanGetSettings() {
|
||||||
|
$router = new Settings();
|
||||||
|
|
||||||
|
$settings = $router->get();
|
||||||
|
expect($settings)->notEmpty();
|
||||||
|
expect($settings['some']['setting']['key'])->true();
|
||||||
|
|
||||||
|
Setting::deleteMany();
|
||||||
|
$settings = $router->get();
|
||||||
|
expect($settings)->isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
function itCanSetSettings() {
|
||||||
|
$new_settings = array(
|
||||||
|
'some' => array(
|
||||||
|
'setting' => array(
|
||||||
|
'new_key' => true
|
||||||
|
),
|
||||||
|
'new_setting' => true
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$router = new Settings();
|
||||||
|
|
||||||
|
$response = $router->set(/* missing data */);
|
||||||
|
expect($response)->false();
|
||||||
|
|
||||||
|
$response = $router->set($new_settings);
|
||||||
|
expect($response)->true();
|
||||||
|
|
||||||
|
$settings = $router->get();
|
||||||
|
|
||||||
|
expect($settings['some']['setting'])->hasntKey('key');
|
||||||
|
expect($settings['some']['setting']['new_key'])->true();
|
||||||
|
expect($settings['some']['new_setting'])->true();
|
||||||
|
}
|
||||||
|
|
||||||
|
function _after() {
|
||||||
|
ORM::forTable(Setting::$_table)->deleteMany();
|
||||||
|
}
|
||||||
|
}
|
22
tests/unit/Router/SetupCest.php
Normal file
22
tests/unit/Router/SetupCest.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
use \MailPoet\Router\Setup;
|
||||||
|
use \MailPoet\Models\Setting;
|
||||||
|
|
||||||
|
class SetupCest {
|
||||||
|
function _before() {
|
||||||
|
Setting::setValue('signup_confirmation.enabled', false);
|
||||||
|
}
|
||||||
|
|
||||||
|
function itCanReinstall() {
|
||||||
|
$router = new Setup();
|
||||||
|
$response = $router->reset();
|
||||||
|
expect($response['result'])->true();
|
||||||
|
|
||||||
|
$signup_confirmation = Setting::getValue('signup_confirmation.enabled');
|
||||||
|
expect($signup_confirmation)->true();
|
||||||
|
}
|
||||||
|
|
||||||
|
function _after() {
|
||||||
|
ORM::forTable(Setting::$_table)->deleteMany();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user