Adds one entry point for both JSON and MP APIs
Removes endpoints folder and moves versions to the root JSON API folder
This commit is contained in:
56
tests/unit/API/JSON/v1/SettingsTest.php
Normal file
56
tests/unit/API/JSON/v1/SettingsTest.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
use MailPoet\API\JSON\Response as APIResponse;
|
||||
use MailPoet\API\JSON\Error as APIError;
|
||||
use MailPoet\API\JSON\v1\Settings;
|
||||
use MailPoet\Models\Setting;
|
||||
|
||||
class SettingsTest extends MailPoetTest {
|
||||
function _before() {
|
||||
Setting::setValue('some.setting.key', true);
|
||||
}
|
||||
|
||||
function testItCanGetSettings() {
|
||||
$router = new Settings();
|
||||
|
||||
$response = $router->get();
|
||||
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||
|
||||
expect($response->data)->notEmpty();
|
||||
expect($response->data['some']['setting']['key'])->true();
|
||||
|
||||
Setting::deleteMany();
|
||||
$response = $router->get();
|
||||
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||
expect($response->data)->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->errors[0]['error'])->equals(APIError::BAD_REQUEST);
|
||||
expect($response->status)->equals(APIResponse::STATUS_BAD_REQUEST);
|
||||
|
||||
$response = $router->set($new_settings);
|
||||
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||
|
||||
$response = $router->get();
|
||||
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||
expect($response->data['some']['setting'])->hasntKey('key');
|
||||
expect($response->data['some']['setting']['new_key'])->true();
|
||||
expect($response->data['some']['new_setting'])->true();
|
||||
}
|
||||
|
||||
function _after() {
|
||||
ORM::forTable(Setting::$_table)->deleteMany();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user