Disable send buttons and endpoints

[MAILPOET-2394]
This commit is contained in:
Amine Ben hammou
2019-11-26 01:59:30 +01:00
committed by Jack Kitterhing
parent 856c870ae5
commit c9052d71d4
5 changed files with 83 additions and 7 deletions

View File

@@ -3,6 +3,8 @@
namespace MailPoet\Test\API\JSON\v1;
use Codeception\Util\Fixtures;
use Codeception\Util\Stub;
use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\API\JSON\v1\SendingQueue as SendingQueueAPI;
use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterOption;
@@ -12,6 +14,7 @@ use MailPoet\Models\SendingQueue as SendingQueueModel;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending;
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
use MailPoetVendor\Idiorm\ORM;
class SendingQueueTest extends \MailPoetTest {
@@ -45,7 +48,7 @@ class SendingQueueTest extends \MailPoetTest {
$newletter_options
);
$sending_queue = new SendingQueueAPI();
$sending_queue = new SendingQueueAPI(Stub::make(SubscribersFeature::class));
$result = $sending_queue->add(['newsletter_id' => $newsletter->id]);
$scheduled_task = ScheduledTask::findOne($result->data['task_id']);
expect($scheduled_task->status)->equals(ScheduledTask::STATUS_SCHEDULED);
@@ -53,6 +56,16 @@ class SendingQueueTest extends \MailPoetTest {
expect($scheduled_task->type)->equals(Sending::TASK_TYPE);
}
function testItReturnsErrorIfSubscribersLimitReached() {
$sending_queue = new SendingQueueAPI(Stub::make(SubscribersFeature::class, [
'check' => true,
]));
$res = $sending_queue->add(['newsletter_id' => $this->newsletter->id]);
expect($res->status)->equals(APIResponse::STATUS_FORBIDDEN);
$res = $sending_queue->resume(['newsletter_id' => $this->newsletter->id]);
expect($res->status)->equals(APIResponse::STATUS_FORBIDDEN);
}
function testItReschedulesScheduledSendingQueueTask() {
$newsletter = $this->newsletter;
$newsletter->status = Newsletter::STATUS_SCHEDULED;
@@ -66,7 +79,7 @@ class SendingQueueTest extends \MailPoetTest {
Newsletter::TYPE_STANDARD,
$newletter_options
);
$sending_queue = new SendingQueueAPI();
$sending_queue = new SendingQueueAPI(Stub::make(SubscribersFeature::class));
// add scheduled task
$result = $sending_queue->add(['newsletter_id' => $newsletter->id]);