Fixed unit tests for newletter templates
- changed null to false for default value of id in nltemplates endpoint
This commit is contained in:
@ -8,9 +8,8 @@ use MailPoet\Models\NewsletterTemplate;
|
|||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
class NewsletterTemplates extends APIEndpoint {
|
class NewsletterTemplates extends APIEndpoint {
|
||||||
|
|
||||||
function get($data = array()) {
|
function get($data = array()) {
|
||||||
$id = (isset($data['id']) ? (int)$data['id'] : null);
|
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||||
$template = NewsletterTemplate::findOne($id);
|
$template = NewsletterTemplate::findOne($id);
|
||||||
if($template === false) {
|
if($template === false) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
@ -46,7 +45,7 @@ class NewsletterTemplates extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function delete($data = array()) {
|
function delete($data = array()) {
|
||||||
$id = (isset($data['id']) ? (int)$data['id'] : null);
|
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||||
$template = NewsletterTemplate::findOne($id);
|
$template = NewsletterTemplate::findOne($id);
|
||||||
if($template === false) {
|
if($template === false) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
@ -54,7 +53,7 @@ class NewsletterTemplates extends APIEndpoint {
|
|||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
$template->delete();
|
$template->delete();
|
||||||
$this->successResponse(null);
|
return $this->successResponse(null, array('count' => 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
use \MailPoet\API\Response as APIResponse;
|
||||||
|
use \MailPoet\API\Error as APIError;
|
||||||
use \MailPoet\API\Endpoints\NewsletterTemplates;
|
use \MailPoet\API\Endpoints\NewsletterTemplates;
|
||||||
use \MailPoet\Models\NewsletterTemplate;
|
use \MailPoet\Models\NewsletterTemplate;
|
||||||
|
|
||||||
@ -22,29 +24,32 @@ class NewsletterTemplatesTest extends MailPoetTest {
|
|||||||
|
|
||||||
$router = new NewsletterTemplates();
|
$router = new NewsletterTemplates();
|
||||||
$response = $router->get(/* missing id */);
|
$response = $router->get(/* missing id */);
|
||||||
expect($response)->false();
|
expect($response->status)->equals(APIResponse::STATUS_NOT_FOUND);
|
||||||
|
expect($response->errors[0]['message'])
|
||||||
|
->equals('This template does not exist.');
|
||||||
|
|
||||||
$response = $router->get('not_an_id');
|
$response = $router->get(array('id' => 'not_an_id'));
|
||||||
expect($response)->false();
|
expect($response->status)->equals(APIResponse::STATUS_NOT_FOUND);
|
||||||
|
expect($response->errors[0]['message'])
|
||||||
|
->equals('This template does not exist.');
|
||||||
|
|
||||||
$response = $router->get($template->id());
|
$response = $router->get(array('id' => $template->id));
|
||||||
expect($response['name'])->equals('Template #1');
|
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
expect($response['body']['key1'])->equals('value1');
|
expect($response->data)->equals(
|
||||||
|
$template->asArray()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function testItCanGetAllNewsletterTemplates() {
|
function testItCanGetAllNewsletterTemplates() {
|
||||||
$templates = NewsletterTemplate::findArray();
|
$templates = array_map(function($template) {
|
||||||
|
return $template->asArray();
|
||||||
|
}, NewsletterTemplate::findMany());
|
||||||
|
|
||||||
$router = new NewsletterTemplates();
|
$router = new NewsletterTemplates();
|
||||||
$response = $router->getAll();
|
$response = $router->getAll();
|
||||||
expect($response)->count(2);
|
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
|
expect($response->data)->equals($templates);
|
||||||
expect($response[0]['name'])->equals('Template #1');
|
|
||||||
expect($response[0]['body']['key1'])->equals('value1');
|
|
||||||
|
|
||||||
expect($response[1]['name'])->equals('Template #2');
|
|
||||||
expect($response[1]['body']['key2'])->equals('value2');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanSaveANewsletterTemplate() {
|
function testItCanSaveANewsletterTemplate() {
|
||||||
@ -56,12 +61,10 @@ class NewsletterTemplatesTest extends MailPoetTest {
|
|||||||
|
|
||||||
$router = new NewsletterTemplates();
|
$router = new NewsletterTemplates();
|
||||||
$response = $router->save($template_data);
|
$response = $router->save($template_data);
|
||||||
expect($response)->true();
|
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
|
expect($response->data)->equals(
|
||||||
$template = NewsletterTemplate::where('name', 'Template #3')->findOne();
|
NewsletterTemplate::findOne($response->data['id'])->asArray()
|
||||||
expect($template->name)->equals('Template #3');
|
);
|
||||||
expect($template->description)->equals('My Third Template');
|
|
||||||
expect($template->body)->equals('{"key3": "value3"}');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanDeleteANewsletterTemplate() {
|
function testItCanDeleteANewsletterTemplate() {
|
||||||
@ -69,10 +72,15 @@ class NewsletterTemplatesTest extends MailPoetTest {
|
|||||||
expect($template->deleted_at)->null();
|
expect($template->deleted_at)->null();
|
||||||
|
|
||||||
$router = new NewsletterTemplates();
|
$router = new NewsletterTemplates();
|
||||||
$response = $router->delete($template->id());
|
$response = $router->delete(/* missing id */);
|
||||||
expect($response)->true();
|
expect($response->status)->equals(APIResponse::STATUS_NOT_FOUND);
|
||||||
|
expect($response->errors[0]['message'])
|
||||||
|
->equals('This template does not exist.');
|
||||||
|
|
||||||
$deleted_template = NewsletterTemplate::findOne($template->id());
|
$response = $router->delete(array('id' => $template->id));
|
||||||
|
expect($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
|
|
||||||
|
$deleted_template = NewsletterTemplate::findOne($template->id);
|
||||||
expect($deleted_template)->false();
|
expect($deleted_template)->false();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user