Router update for Settings and Setup + unit tests
This commit is contained in:
@ -10,17 +10,17 @@ class Settings {
|
||||
|
||||
function get() {
|
||||
$settings = Setting::getAll();
|
||||
wp_send_json($settings);
|
||||
return $settings;
|
||||
}
|
||||
|
||||
function set($settings = array()) {
|
||||
if(empty($settings)) {
|
||||
wp_send_json(false);
|
||||
return false;
|
||||
} else {
|
||||
foreach($settings as $name => $value) {
|
||||
Setting::setValue($name, $value);
|
||||
}
|
||||
wp_send_json(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ class Setup {
|
||||
} catch(Exception $e) {
|
||||
$result = false;
|
||||
}
|
||||
wp_send_json(array(
|
||||
return array(
|
||||
'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