Use a wrapped function for current_time [MAILPOET-2488]

This commit is contained in:
wxa
2019-12-25 14:13:52 +03:00
committed by amine-mp
parent 176aba69fe
commit 6ed3915b1a
20 changed files with 83 additions and 68 deletions

View File

@ -6,6 +6,7 @@ use MailPoet\API\JSON\v1\ImportExport;
use MailPoet\Cron\Workers\WooCommerceSync; use MailPoet\Cron\Workers\WooCommerceSync;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
class ImportExportTest extends \MailPoetTest { class ImportExportTest extends \MailPoetTest {
@ -63,7 +64,7 @@ class ImportExportTest extends \MailPoetTest {
private function createTask($type, $status = null, $scheduled_at = null) { private function createTask($type, $status = null, $scheduled_at = null) {
if (!$scheduled_at) { if (!$scheduled_at) {
Carbon::createFromTimestamp(current_time('timestamp')); Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
} }
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = $type; $task->type = $type;

View File

@ -495,8 +495,8 @@ class NewslettersTest extends \MailPoetTest {
$newsletter_option_field->name = 'schedule'; $newsletter_option_field->name = 'schedule';
$newsletter_option_field->newsletter_type = Newsletter::TYPE_NOTIFICATION; $newsletter_option_field->newsletter_type = Newsletter::TYPE_NOTIFICATION;
$newsletter_option_field->save(); $newsletter_option_field->save();
$schedule = sprintf('0 %d * * *', Carbon::createFromTimestamp(current_time('timestamp'))->hour); // every day at current hour $schedule = sprintf('0 %d * * *', Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->hour); // every day at current hour
$random_future_date = Carbon::createFromTimestamp(current_time('timestamp'))->addDays(10)->format('Y-m-d H:i:s'); // 10 days from now $random_future_date = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addDays(10)->format('Y-m-d H:i:s'); // 10 days from now
$newsletter_option = NewsletterOption::createOrUpdate( $newsletter_option = NewsletterOption::createOrUpdate(
[ [
'newsletter_id' => $this->post_notification->id, 'newsletter_id' => $this->post_notification->id,

View File

@ -8,6 +8,7 @@ use MailPoet\Cron\CronHelper;
use MailPoet\Cron\CronWorkerRunner; use MailPoet\Cron\CronWorkerRunner;
use MailPoet\Cron\Workers\SimpleWorkerMockImplementation; use MailPoet\Cron\Workers\SimpleWorkerMockImplementation;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -109,7 +110,7 @@ class CronWorkerRunnerTest extends \MailPoetTest {
expect($result)->true(); expect($result)->true();
$scheduled_at = $task->scheduled_at; $scheduled_at = $task->scheduled_at;
$task->updated_at = Carbon::createFromTimestamp(strtotime($task->updated_at)) $task->updated_at = Carbon::createFromTimestamp((int)strtotime($task->updated_at))
->subMinutes(CronWorkerRunner::TASK_RUN_TIMEOUT + 1); ->subMinutes(CronWorkerRunner::TASK_RUN_TIMEOUT + 1);
$task->save(); $task->save();
@ -198,7 +199,7 @@ class CronWorkerRunnerTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = SimpleWorkerMockImplementation::TASK_TYPE; $task->type = SimpleWorkerMockImplementation::TASK_TYPE;
$task->status = ScheduledTask::STATUS_SCHEDULED; $task->status = ScheduledTask::STATUS_SCHEDULED;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }
@ -207,7 +208,7 @@ class CronWorkerRunnerTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = SimpleWorkerMockImplementation::TASK_TYPE; $task->type = SimpleWorkerMockImplementation::TASK_TYPE;
$task->status = null; $task->status = null;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }

View File

@ -38,7 +38,7 @@ class WordPressTest extends \MailPoetTest {
'method' => 'none', 'method' => 'none',
]); ]);
ScheduledTask::where('type', Beamer::TASK_TYPE)->deleteMany(); ScheduledTask::where('type', Beamer::TASK_TYPE)->deleteMany();
$this->_addScheduledTask(Beamer::TASK_TYPE, ScheduledTask::STATUS_SCHEDULED, Carbon::createFromTimestamp(current_time('timestamp') + 600)); $this->_addScheduledTask(Beamer::TASK_TYPE, ScheduledTask::STATUS_SCHEDULED, Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp') + 600));
$this->wordpress_trigger = $this->di_container->get(WordPress::class); $this->wordpress_trigger = $this->di_container->get(WordPress::class);
} }
@ -206,7 +206,7 @@ class WordPressTest extends \MailPoetTest {
'newsletter_id' => 1, 'newsletter_id' => 1,
'status' => $status, 'status' => $status,
'scheduled_at' => ($status === SendingQueue::STATUS_SCHEDULED) ? 'scheduled_at' => ($status === SendingQueue::STATUS_SCHEDULED) ?
Carbon::createFromTimestamp(current_time('timestamp')) : Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')) :
null, null,
] ]
); );
@ -215,7 +215,7 @@ class WordPressTest extends \MailPoetTest {
public function _addScheduledTask($type, $status, $scheduled_at = null) { public function _addScheduledTask($type, $status, $scheduled_at = null) {
if (!$scheduled_at && $status === ScheduledTask::STATUS_SCHEDULED) { if (!$scheduled_at && $status === ScheduledTask::STATUS_SCHEDULED) {
$scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
} }
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->hydrate( $task->hydrate(

View File

@ -11,6 +11,7 @@ use MailPoet\Models\Subscriber;
use MailPoet\Services\Bridge\API; use MailPoet\Services\Bridge\API;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository; use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -126,7 +127,7 @@ class BounceTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = 'bounce'; $task->type = 'bounce';
$task->status = ScheduledTask::STATUS_SCHEDULED; $task->status = ScheduledTask::STATUS_SCHEDULED;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }
@ -135,7 +136,7 @@ class BounceTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = 'bounce'; $task->type = 'bounce';
$task->status = null; $task->status = null;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }

View File

@ -8,6 +8,7 @@ use MailPoet\Cron\Workers\KeyCheck\KeyCheckWorkerMockImplementation as MockKeyCh
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsRepository; use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -71,7 +72,7 @@ class KeyCheckWorkerTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = MockKeyCheckWorker::TASK_TYPE; $task->type = MockKeyCheckWorker::TASK_TYPE;
$task->status = null; $task->status = null;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }

View File

@ -22,6 +22,7 @@ use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
use MailPoet\Segments\SubscribersFinder; use MailPoet\Segments\SubscribersFinder;
use MailPoet\Settings\SettingsRepository; use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -51,7 +52,7 @@ class SchedulerTest extends \MailPoetTest {
$queue = SendingTask::create(); $queue = SendingTask::create();
$queue->newsletter_id = 1; $queue->newsletter_id = 1;
$queue->status = SendingQueue::STATUS_SCHEDULED; $queue->status = SendingQueue::STATUS_SCHEDULED;
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
expect(Scheduler::getScheduledQueues())->notEmpty(); expect(Scheduler::getScheduledQueues())->notEmpty();
} }
@ -310,7 +311,7 @@ class SchedulerTest extends \MailPoetTest {
} }
public function testItReschedulesQueueDeliveryWhenMailpoetSubscriberHasNotConfirmedSubscription() { public function testItReschedulesQueueDeliveryWhenMailpoetSubscriberHasNotConfirmedSubscription() {
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$subscriber = $this->_createSubscriber($wp_user_id = null, 'unconfirmed'); $subscriber = $this->_createSubscriber($wp_user_id = null, 'unconfirmed');
$segment = $this->_createSegment(); $segment = $this->_createSegment();
@ -333,13 +334,13 @@ class SchedulerTest extends \MailPoetTest {
// update the time queue is scheduled to run at // update the time queue is scheduled to run at
$updated_queue = SendingTask::createFromQueue(SendingQueue::findOne($queue->id)); $updated_queue = SendingTask::createFromQueue(SendingQueue::findOne($queue->id));
expect(Carbon::parse($updated_queue->scheduled_at))->equals( expect(Carbon::parse($updated_queue->scheduled_at))->equals(
Carbon::createFromTimestamp(current_time('timestamp')) Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))
->addMinutes(ScheduledTask::BASIC_RESCHEDULE_TIMEOUT) ->addMinutes(ScheduledTask::BASIC_RESCHEDULE_TIMEOUT)
); );
} }
public function testItDoesntRunQueueDeliveryWhenMailpoetSubscriberHasUnsubscribed() { public function testItDoesntRunQueueDeliveryWhenMailpoetSubscriberHasUnsubscribed() {
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$subscriber = $this->_createSubscriber($wp_user_id = null, 'unsubscribed'); $subscriber = $this->_createSubscriber($wp_user_id = null, 'unsubscribed');
$segment = $this->_createSegment(); $segment = $this->_createSegment();
@ -486,7 +487,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItDeletesQueueDuringProcessingWhenNewsletterNotFound() { public function testItDeletesQueueDuringProcessingWhenNewsletterNotFound() {
$queue = $this->_createQueue(1); $queue = $this->_createQueue(1);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper); $scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper);
$scheduler->process(); $scheduler->process();
@ -495,10 +496,10 @@ class SchedulerTest extends \MailPoetTest {
public function testItDeletesQueueDuringProcessingWhenNewsletterIsSoftDeleted() { public function testItDeletesQueueDuringProcessingWhenNewsletterIsSoftDeleted() {
$newsletter = $this->_createNewsletter(); $newsletter = $this->_createNewsletter();
$newsletter->deleted_at = Carbon::createFromTimestamp(current_time('timestamp')); $newsletter->deleted_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$newsletter->save(); $newsletter->save();
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper); $scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper);
$scheduler->process(); $scheduler->process();
@ -508,7 +509,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItProcessesWelcomeNewsletters() { public function testItProcessesWelcomeNewsletters() {
$newsletter = $this->_createNewsletter(Newsletter::TYPE_WELCOME); $newsletter = $this->_createNewsletter(Newsletter::TYPE_WELCOME);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
'processWelcomeNewsletter' => Expected::exactly(1), 'processWelcomeNewsletter' => Expected::exactly(1),
@ -520,7 +521,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItProcessesNotificationNewsletters() { public function testItProcessesNotificationNewsletters() {
$newsletter = $this->_createNewsletter(); $newsletter = $this->_createNewsletter();
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
'processPostNotificationNewsletter' => Expected::exactly(1), 'processPostNotificationNewsletter' => Expected::exactly(1),
@ -532,7 +533,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItProcessesStandardScheduledNewsletters() { public function testItProcessesStandardScheduledNewsletters() {
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
'processScheduledStandardNewsletter' => Expected::exactly(1), 'processScheduledStandardNewsletter' => Expected::exactly(1),
@ -544,7 +545,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItEnforcesExecutionLimitDuringProcessing() { public function testItEnforcesExecutionLimitDuringProcessing() {
$newsletter = $this->_createNewsletter(); $newsletter = $this->_createNewsletter();
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
'processPostNotificationNewsletter' => Expected::exactly(1), 'processPostNotificationNewsletter' => Expected::exactly(1),
@ -558,7 +559,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItDoesNotProcessScheduledJobsWhenNewsletterIsNotActive() { public function testItDoesNotProcessScheduledJobsWhenNewsletterIsNotActive() {
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
@ -572,7 +573,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItProcessesScheduledJobsWhenNewsletterIsActive() { public function testItProcessesScheduledJobsWhenNewsletterIsActive() {
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_ACTIVE); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_ACTIVE);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
@ -587,7 +588,7 @@ class SchedulerTest extends \MailPoetTest {
$task = ScheduledTask::createOrUpdate([ $task = ScheduledTask::createOrUpdate([
'type' => 'bounce', 'type' => 'bounce',
'status' => ScheduledTask::STATUS_SCHEDULED, 'status' => ScheduledTask::STATUS_SCHEDULED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->addMonths(1), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addMonths(1),
]); ]);
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
@ -596,14 +597,14 @@ class SchedulerTest extends \MailPoetTest {
$scheduler->processScheduledStandardNewsletter($newsletter, $queue); $scheduler->processScheduledStandardNewsletter($newsletter, $queue);
$refetched_task = ScheduledTask::where('id', $task->id)->findOne(); $refetched_task = ScheduledTask::where('id', $task->id)->findOne();
expect($refetched_task->scheduled_at)->lessThan(Carbon::createFromTimestamp(current_time('timestamp'))->addHours(42)); expect($refetched_task->scheduled_at)->lessThan(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addHours(42));
} }
public function testItDoesNotReSchedulesBounceTaskWhenSoon() { public function testItDoesNotReSchedulesBounceTaskWhenSoon() {
$task = ScheduledTask::createOrUpdate([ $task = ScheduledTask::createOrUpdate([
'type' => 'bounce', 'type' => 'bounce',
'status' => ScheduledTask::STATUS_SCHEDULED, 'status' => ScheduledTask::STATUS_SCHEDULED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->addMinute(5), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addMinute(5),
]); ]);
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_DRAFT);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
@ -612,13 +613,13 @@ class SchedulerTest extends \MailPoetTest {
$scheduler->processScheduledStandardNewsletter($newsletter, $queue); $scheduler->processScheduledStandardNewsletter($newsletter, $queue);
$refetched_task = ScheduledTask::where('id', $task->id)->findOne(); $refetched_task = ScheduledTask::where('id', $task->id)->findOne();
expect($refetched_task->scheduled_at)->lessThan(Carbon::createFromTimestamp(current_time('timestamp'))->addHours(1)); expect($refetched_task->scheduled_at)->lessThan(Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addHours(1));
} }
public function testItProcessesScheduledJobsWhenNewsletterIsScheduled() { public function testItProcessesScheduledJobsWhenNewsletterIsScheduled() {
$newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_SCHEDULED); $newsletter = $this->_createNewsletter(Newsletter::TYPE_STANDARD, Newsletter::STATUS_SCHEDULED);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->save(); $queue->save();
$scheduler = Stub::make(Scheduler::class, [ $scheduler = Stub::make(Scheduler::class, [
@ -709,10 +710,10 @@ class SchedulerTest extends \MailPoetTest {
} }
public function testItUpdatesUpdateTime() { public function testItUpdatesUpdateTime() {
$originalUpdated = Carbon::createFromTimestamp(current_time('timestamp'))->subHours(5)->toDateTimeString(); $originalUpdated = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(5)->toDateTimeString();
$newsletter = $this->_createNewsletter(Newsletter::TYPE_WELCOME, Newsletter::STATUS_DRAFT); $newsletter = $this->_createNewsletter(Newsletter::TYPE_WELCOME, Newsletter::STATUS_DRAFT);
$queue = $this->_createQueue($newsletter->id); $queue = $this->_createQueue($newsletter->id);
$queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$queue->updated_at = $originalUpdated; $queue->updated_at = $originalUpdated;
$queue->save(); $queue->save();
$scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper); $scheduler = new Scheduler($this->makeEmpty(SubscribersFinder::class), $this->logger_factory, $this->cron_helper);

View File

@ -136,7 +136,7 @@ class MigrationTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = Migration::TASK_TYPE; $task->type = Migration::TASK_TYPE;
$task->status = ScheduledTask::STATUS_SCHEDULED; $task->status = ScheduledTask::STATUS_SCHEDULED;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }
@ -145,7 +145,7 @@ class MigrationTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = Migration::TASK_TYPE; $task->type = Migration::TASK_TYPE;
$task->status = null; $task->status = null;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }
@ -154,7 +154,7 @@ class MigrationTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = Migration::TASK_TYPE; $task->type = Migration::TASK_TYPE;
$task->status = ScheduledTask::STATUS_COMPLETED; $task->status = ScheduledTask::STATUS_COMPLETED;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }

View File

@ -476,9 +476,9 @@ class SendingQueueTest extends \MailPoetTest {
} }
public function testItUpdatesUpdateTime() { public function testItUpdatesUpdateTime() {
$originalUpdated = Carbon::createFromTimestamp(current_time('timestamp'))->subHours(5)->toDateTimeString(); $originalUpdated = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(5)->toDateTimeString();
$this->queue->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $this->queue->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$this->queue->updated_at = $originalUpdated; $this->queue->updated_at = $originalUpdated;
$this->queue->save(); $this->queue->save();

View File

@ -8,6 +8,7 @@ use MailPoet\Cron\Workers\SimpleWorkerMockImplementation as MockSimpleWorker;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Settings\SettingsRepository; use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -53,7 +54,7 @@ class SimpleWorkerTest extends \MailPoetTest {
} }
public function testItCalculatesNextRunDateWithinNextWeekBoundaries() { public function testItCalculatesNextRunDateWithinNextWeekBoundaries() {
$current_date = Carbon::createFromTimestamp(current_time('timestamp')); $current_date = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$next_run_date = (new MockSimpleWorker())->getNextRunDate(); $next_run_date = (new MockSimpleWorker())->getNextRunDate();
$difference = $next_run_date->diffInDays($current_date); $difference = $next_run_date->diffInDays($current_date);
// Subtract days left in the current week // Subtract days left in the current week

View File

@ -6,6 +6,7 @@ use MailPoet\Cron\Workers\WooCommerceSync;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Segments\WooCommerce as WooCommerceSegment; use MailPoet\Segments\WooCommerce as WooCommerceSegment;
use MailPoet\WooCommerce\Helper as WooCommerceHelper; use MailPoet\WooCommerce\Helper as WooCommerceHelper;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -42,7 +43,7 @@ class WooCommerceSyncTest extends \MailPoetTest {
$task = ScheduledTask::create(); $task = ScheduledTask::create();
$task->type = WooCommerceSync::TASK_TYPE; $task->type = WooCommerceSync::TASK_TYPE;
$task->status = null; $task->status = null;
$task->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $task->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
$task->save(); $task->save();
return $task; return $task;
} }

View File

@ -16,6 +16,7 @@ use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Util\Security; use MailPoet\Util\Security;
use MailPoet\WooCommerce\Helper as WCHelper; use MailPoet\WooCommerce\Helper as WCHelper;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -909,7 +910,7 @@ class NewsletterTest extends \MailPoetTest {
]); ]);
$task = ScheduledTask::createOrUpdate([ $task = ScheduledTask::createOrUpdate([
'status' => ScheduledTask::STATUS_PAUSED, 'status' => ScheduledTask::STATUS_PAUSED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->addDays(10)->format('Y-m-d H:i:s'), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addDays(10)->format('Y-m-d H:i:s'),
]); ]);
SendingQueue::createOrUpdate([ SendingQueue::createOrUpdate([
'newsletter_id' => $newsletter->id(), 'newsletter_id' => $newsletter->id(),

View File

@ -7,6 +7,7 @@ use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Util\Helpers; use MailPoet\Util\Helpers;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -36,15 +37,15 @@ class ScheduledTaskTest extends \MailPoetTest {
]); ]);
$task1 = ScheduledTask::createOrUpdate([ $task1 = ScheduledTask::createOrUpdate([
'status' => ScheduledTask::STATUS_PAUSED, 'status' => ScheduledTask::STATUS_PAUSED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->addDays(10)->format('Y-m-d H:i:s'), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addDays(10)->format('Y-m-d H:i:s'),
]); ]);
$task2 = ScheduledTask::createOrUpdate([ $task2 = ScheduledTask::createOrUpdate([
'status' => ScheduledTask::STATUS_COMPLETED, 'status' => ScheduledTask::STATUS_COMPLETED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->addDays(10)->format('Y-m-d H:i:s'), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->addDays(10)->format('Y-m-d H:i:s'),
]); ]);
$task3 = ScheduledTask::createOrUpdate([ $task3 = ScheduledTask::createOrUpdate([
'status' => ScheduledTask::STATUS_PAUSED, 'status' => ScheduledTask::STATUS_PAUSED,
'scheduled_at' => Carbon::createFromTimestamp(current_time('timestamp'))->subDays(10)->format('Y-m-d H:i:s'), 'scheduled_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subDays(10)->format('Y-m-d H:i:s'),
]); ]);
SendingQueue::createOrUpdate([ SendingQueue::createOrUpdate([
'newsletter_id' => $newsletter->id(), 'newsletter_id' => $newsletter->id(),

View File

@ -12,6 +12,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -42,7 +43,7 @@ class AutomaticEmailTest extends \MailPoetTest {
$this->automatic_email_scheduler->createAutomaticEmailSendingTask($newsletter, $subscriber->id, $meta = null); $this->automatic_email_scheduler->createAutomaticEmailSendingTask($newsletter, $subscriber->id, $meta = null);
// new scheduled task should be created // new scheduled task should be created
$task = SendingTask::getByNewsletterId($newsletter->id); $task = SendingTask::getByNewsletterId($newsletter->id);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
expect($task->id)->greaterOrEquals(1); expect($task->id)->greaterOrEquals(1);
expect($task->priority)->equals(SendingQueue::PRIORITY_MEDIUM); expect($task->priority)->equals(SendingQueue::PRIORITY_MEDIUM);
@ -92,7 +93,7 @@ class AutomaticEmailTest extends \MailPoetTest {
$this->automatic_email_scheduler->createAutomaticEmailSendingTask($newsletter, $subscriber = null, $meta = null); $this->automatic_email_scheduler->createAutomaticEmailSendingTask($newsletter, $subscriber = null, $meta = null);
// new scheduled task should be created // new scheduled task should be created
$task = SendingTask::getByNewsletterId($newsletter->id); $task = SendingTask::getByNewsletterId($newsletter->id);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
expect($task->id)->greaterOrEquals(1); expect($task->id)->greaterOrEquals(1);
expect($task->priority)->equals(SendingQueue::PRIORITY_MEDIUM); expect($task->priority)->equals(SendingQueue::PRIORITY_MEDIUM);
@ -141,7 +142,7 @@ class AutomaticEmailTest extends \MailPoetTest {
} }
public function testItSchedulesAutomaticEmailWhenConditionMatches() { public function testItSchedulesAutomaticEmailWhenConditionMatches() {
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$newsletter_1 = $this->_createNewsletter(); $newsletter_1 = $this->_createNewsletter();
$this->_createNewsletterOptions( $this->_createNewsletterOptions(

View File

@ -13,6 +13,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoet\WP\Posts as WPPosts; use MailPoet\WP\Posts as WPPosts;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -91,7 +92,7 @@ class PostNotificationTest extends \MailPoetTest {
// queue is created and scheduled for delivery one day later at 5 a.m. // queue is created and scheduled for delivery one day later at 5 a.m.
$this->post_notification_scheduler->schedulePostNotification($post_id = 10); $this->post_notification_scheduler->schedulePostNotification($post_id = 10);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$next_run_date = ($current_time->hour < 5) ? $next_run_date = ($current_time->hour < 5) ?
$current_time : $current_time :

View File

@ -15,6 +15,7 @@ use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Scheduler\Scheduler; use MailPoet\Newsletter\Scheduler\Scheduler;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoet\WP\Posts as WPPosts; use MailPoet\WP\Posts as WPPosts;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -46,7 +47,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItCanGetNextRunDate() { public function testItCanGetNextRunDate() {
// it accepts cron syntax and returns next run date // it accepts cron syntax and returns next run date
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
expect(Scheduler::getNextRunDate('* * * * *')) expect(Scheduler::getNextRunDate('* * * * *'))
->equals($current_time->addMinute()->format('Y-m-d H:i:00')); ->equals($current_time->addMinute()->format('Y-m-d H:i:00'));
@ -56,7 +57,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItCanGetPreviousRunDate() { public function testItCanGetPreviousRunDate() {
// it accepts cron syntax and returns previous run date // it accepts cron syntax and returns previous run date
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
expect(Scheduler::getPreviousRunDate('* * * * *')) expect(Scheduler::getPreviousRunDate('* * * * *'))
->equals($current_time->subMinute()->format('Y-m-d H:i:00')); ->equals($current_time->subMinute()->format('Y-m-d H:i:00'));

View File

@ -11,6 +11,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -56,7 +57,7 @@ class WelcomeTest extends \MailPoetTest {
$this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1); $this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1);
$queue = SendingQueue::findTaskByNewsletterId(1) $queue = SendingQueue::findTaskByNewsletterId(1)
->findOne(); ->findOne();
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
expect($queue->id)->greaterOrEquals(1); expect($queue->id)->greaterOrEquals(1);
expect($queue->priority)->equals(SendingQueue::PRIORITY_HIGH); expect($queue->priority)->equals(SendingQueue::PRIORITY_HIGH);
@ -73,7 +74,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for delivery in 2 days // queue is scheduled for delivery in 2 days
$newsletter->afterTimeType = 'days'; $newsletter->afterTimeType = 'days';
$this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1); $this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$queue = SendingQueue::findTaskByNewsletterId(1) $queue = SendingQueue::findTaskByNewsletterId(1)
->findOne(); ->findOne();
@ -92,7 +93,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for delivery in 2 weeks // queue is scheduled for delivery in 2 weeks
$newsletter->afterTimeType = 'weeks'; $newsletter->afterTimeType = 'weeks';
$this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1); $this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$queue = SendingQueue::findTaskByNewsletterId(1) $queue = SendingQueue::findTaskByNewsletterId(1)
->findOne(); ->findOne();
@ -111,7 +112,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for immediate delivery // queue is scheduled for immediate delivery
$newsletter->afterTimeType = null; $newsletter->afterTimeType = null;
$this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1); $this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1);
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$queue = SendingQueue::findTaskByNewsletterId(1)->findOne(); $queue = SendingQueue::findTaskByNewsletterId(1)->findOne();
expect($queue->id)->greaterOrEquals(1); expect($queue->id)->greaterOrEquals(1);
@ -155,7 +156,7 @@ class WelcomeTest extends \MailPoetTest {
1, 1,
] ]
); );
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id) $queue = SendingQueue::findTaskByNewsletterId($newsletter->id)
->findOne(); ->findOne();
@ -242,7 +243,7 @@ class WelcomeTest extends \MailPoetTest {
$subscriber_id = 10, $subscriber_id = 10,
$wp_user = ['roles' => ['administrator']] $wp_user = ['roles' => ['administrator']]
); );
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
// queue is created and scheduled for delivery one day later // queue is created and scheduled for delivery one day later
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id) $queue = SendingQueue::findTaskByNewsletterId($newsletter->id)
@ -266,7 +267,7 @@ class WelcomeTest extends \MailPoetTest {
$subscriber_id = 10, $subscriber_id = 10,
$wp_user = ['roles' => ['administrator']] $wp_user = ['roles' => ['administrator']]
); );
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
Carbon::setTestNow($current_time); // mock carbon to return current time Carbon::setTestNow($current_time); // mock carbon to return current time
// queue is created and scheduled for delivery one day later // queue is created and scheduled for delivery one day later
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id) $queue = SendingQueue::findTaskByNewsletterId($newsletter->id)

View File

@ -103,20 +103,20 @@ class ShortcodesTest extends \MailPoetTest {
public function testItCanProcessDateShortcodes() { public function testItCanProcessDateShortcodes() {
$shortcode_details = ['action' => 'd']; $shortcode_details = ['action' => 'd'];
expect(Date::process($shortcode_details))->equals(date_i18n('d', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('d', WPFunctions::get()->currentTime('timestamp')));
$shortcode_details = ['action' => 'dordinal']; $shortcode_details = ['action' => 'dordinal'];
expect(Date::process($shortcode_details))->equals(date_i18n('jS', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('jS', WPFunctions::get()->currentTime('timestamp')));
$shortcode_details = ['action' => 'dtext']; $shortcode_details = ['action' => 'dtext'];
expect(Date::process($shortcode_details))->equals(date_i18n('l', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('l', WPFunctions::get()->currentTime('timestamp')));
$shortcode_details = ['action' => 'm']; $shortcode_details = ['action' => 'm'];
expect(Date::process($shortcode_details))->equals(date_i18n('m', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('m', WPFunctions::get()->currentTime('timestamp')));
$shortcode_details = ['action' => 'mtext']; $shortcode_details = ['action' => 'mtext'];
expect(Date::process($shortcode_details))->equals(date_i18n('F', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('F', WPFunctions::get()->currentTime('timestamp')));
$shortcode_details = ['action' => 'y']; $shortcode_details = ['action' => 'y'];
expect(Date::process($shortcode_details))->equals(date_i18n('Y', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('Y', WPFunctions::get()->currentTime('timestamp')));
// allow custom date formats (http://php.net/manual/en/function.date.php) // allow custom date formats (http://php.net/manual/en/function.date.php)
$shortcode_details = ['action' => 'custom', 'action_argument' => 'format', 'action_argument_value' => 'U F']; $shortcode_details = ['action' => 'custom', 'action_argument' => 'format', 'action_argument_value' => 'U F'];
expect(Date::process($shortcode_details))->equals(date_i18n('U F', current_time('timestamp'))); expect(Date::process($shortcode_details))->equals(date_i18n('U F', WPFunctions::get()->currentTime('timestamp')));
} }
public function testItCanProcessNewsletterShortcodes() { public function testItCanProcessNewsletterShortcodes() {

View File

@ -2,6 +2,7 @@
namespace MailPoet\Services\Bridge; namespace MailPoet\Services\Bridge;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
class BridgeTestMockAPI extends API { class BridgeTestMockAPI extends API {
@ -45,7 +46,7 @@ class BridgeTestMockAPI extends API {
$code = 200; $code = 200;
$body = [ $body = [
'subscriber_limit' => 10000, 'subscriber_limit' => 10000,
'expire_at' => Carbon::createFromTimestamp(current_time('timestamp')) 'expire_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))
->addMonth()->format('c'), ->addMonth()->format('c'),
]; ];
break; break;
@ -63,7 +64,7 @@ class BridgeTestMockAPI extends API {
// a special case of a valid key // a special case of a valid key
$code = 200; $code = 200;
$body = [ $body = [
'expire_at' => Carbon::createFromTimestamp(current_time('timestamp')) 'expire_at' => Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))
->addMonth()->format('c'), ->addMonth()->format('c'),
]; ];
break; break;

View File

@ -8,6 +8,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Tasks\Subscribers; use MailPoet\Tasks\Subscribers;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@ -130,7 +131,7 @@ class SendingTest extends \MailPoetTest {
public function testItGetsScheduledQueues() { public function testItGetsScheduledQueues() {
$this->sending->status = ScheduledTask::STATUS_SCHEDULED; $this->sending->status = ScheduledTask::STATUS_SCHEDULED;
$this->sending->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp'))->subHours(1); $this->sending->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(1);
$this->sending->save(); $this->sending->save();
$tasks = SendingTask::getScheduledQueues(); $tasks = SendingTask::getScheduledQueues();
expect($tasks)->notEmpty(); expect($tasks)->notEmpty();
@ -161,7 +162,7 @@ class SendingTest extends \MailPoetTest {
public function testItGetsRunningQueues() { public function testItGetsRunningQueues() {
$this->sending->status = null; $this->sending->status = null;
$this->sending->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp'))->subHours(1); $this->sending->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(1);
$this->sending->save(); $this->sending->save();
$tasks = SendingTask::getRunningQueues(); $tasks = SendingTask::getRunningQueues();
expect($tasks)->notEmpty(); expect($tasks)->notEmpty();
@ -252,7 +253,7 @@ class SendingTest extends \MailPoetTest {
$sending = SendingTask::create($task, $queue); $sending = SendingTask::create($task, $queue);
$sending->setSubscribers([123, 456]); // random IDs $sending->setSubscribers([123, 456]); // random IDs
$sending->status = $status; $sending->status = $status;
$sending->scheduled_at = Carbon::createFromTimestamp(current_time('timestamp'))->subHours(1); $sending->scheduled_at = Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->subHours(1);
return $sending->save(); return $sending->save();
} }