Files
piratepoet/tests/unit/API/SettingsTest.php
Jonathan Labreuille 354d249e1d Moved current Router files to API
- updated Unit tests to reflect the change
2016-08-01 17:00:32 +02:00

51 lines
1.2 KiB
PHP

<?php
use \MailPoet\API
\Settings;
use \MailPoet\Models\Setting;
class SettingsTest extends MailPoetTest {
function _before() {
Setting::setValue('some.setting.key', true);
}
function testItCanGetSettings() {
$router = new Settings();
$settings = $router->get();
expect($settings)->notEmpty();
expect($settings['some']['setting']['key'])->true();
Setting::deleteMany();
$settings = $router->get();
expect($settings)->equals(Setting::getDefaults());
}
function testItCanSetSettings() {
$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();
}
}