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\DI\ContainerWrapper;
use MailPoet\Models\ScheduledTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
class ImportExportTest extends \MailPoetTest {
@ -63,7 +64,7 @@ class ImportExportTest extends \MailPoetTest {
private function createTask($type, $status = null, $scheduled_at = null) {
if (!$scheduled_at) {
Carbon::createFromTimestamp(current_time('timestamp'));
Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'));
}
$task = ScheduledTask::create();
$task->type = $type;

View File

@ -495,8 +495,8 @@ class NewslettersTest extends \MailPoetTest {
$newsletter_option_field->name = 'schedule';
$newsletter_option_field->newsletter_type = Newsletter::TYPE_NOTIFICATION;
$newsletter_option_field->save();
$schedule = sprintf('0 %d * * *', Carbon::createFromTimestamp(current_time('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
$schedule = sprintf('0 %d * * *', Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp'))->hour); // every day at current hour
$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_id' => $this->post_notification->id,

View File

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

View File

@ -38,7 +38,7 @@ class WordPressTest extends \MailPoetTest {
'method' => 'none',
]);
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);
}
@ -206,7 +206,7 @@ class WordPressTest extends \MailPoetTest {
'newsletter_id' => 1,
'status' => $status,
'scheduled_at' => ($status === SendingQueue::STATUS_SCHEDULED) ?
Carbon::createFromTimestamp(current_time('timestamp')) :
Carbon::createFromTimestamp(WPFunctions::get()->currentTime('timestamp')) :
null,
]
);
@ -215,7 +215,7 @@ class WordPressTest extends \MailPoetTest {
public function _addScheduledTask($type, $status, $scheduled_at = null) {
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->hydrate(

View File

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

View File

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

View File

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

View File

@ -476,9 +476,9 @@ class SendingQueueTest extends \MailPoetTest {
}
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->save();

View File

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

View File

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

View File

@ -16,6 +16,7 @@ use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Util\Security;
use MailPoet\WooCommerce\Helper as WCHelper;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -909,7 +910,7 @@ class NewsletterTest extends \MailPoetTest {
]);
$task = ScheduledTask::createOrUpdate([
'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([
'newsletter_id' => $newsletter->id(),

View File

@ -7,6 +7,7 @@ use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue;
use MailPoet\Util\Helpers;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -36,15 +37,15 @@ class ScheduledTaskTest extends \MailPoetTest {
]);
$task1 = ScheduledTask::createOrUpdate([
'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([
'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([
'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([
'newsletter_id' => $newsletter->id(),

View File

@ -12,6 +12,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -42,7 +43,7 @@ class AutomaticEmailTest extends \MailPoetTest {
$this->automatic_email_scheduler->createAutomaticEmailSendingTask($newsletter, $subscriber->id, $meta = null);
// new scheduled task should be created
$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
expect($task->id)->greaterOrEquals(1);
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);
// new scheduled task should be created
$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
expect($task->id)->greaterOrEquals(1);
expect($task->priority)->equals(SendingQueue::PRIORITY_MEDIUM);
@ -141,7 +142,7 @@ class AutomaticEmailTest extends \MailPoetTest {
}
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
$newsletter_1 = $this->_createNewsletter();
$this->_createNewsletterOptions(

View File

@ -13,6 +13,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoet\WP\Posts as WPPosts;
use MailPoetVendor\Carbon\Carbon;
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.
$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
$next_run_date = ($current_time->hour < 5) ?
$current_time :

View File

@ -15,6 +15,7 @@ use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Scheduler\Scheduler;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoet\WP\Posts as WPPosts;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -46,7 +47,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItCanGetNextRunDate() {
// 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
expect(Scheduler::getNextRunDate('* * * * *'))
->equals($current_time->addMinute()->format('Y-m-d H:i:00'));
@ -56,7 +57,7 @@ class SchedulerTest extends \MailPoetTest {
public function testItCanGetPreviousRunDate() {
// 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
expect(Scheduler::getPreviousRunDate('* * * * *'))
->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\Subscriber;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -56,7 +57,7 @@ class WelcomeTest extends \MailPoetTest {
$this->welcome_scheduler->createWelcomeNotificationSendingTask($newsletter, $subscriber_id = 1);
$queue = SendingQueue::findTaskByNewsletterId(1)
->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
expect($queue->id)->greaterOrEquals(1);
expect($queue->priority)->equals(SendingQueue::PRIORITY_HIGH);
@ -73,7 +74,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for delivery in 2 days
$newsletter->afterTimeType = 'days';
$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
$queue = SendingQueue::findTaskByNewsletterId(1)
->findOne();
@ -92,7 +93,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for delivery in 2 weeks
$newsletter->afterTimeType = 'weeks';
$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
$queue = SendingQueue::findTaskByNewsletterId(1)
->findOne();
@ -111,7 +112,7 @@ class WelcomeTest extends \MailPoetTest {
// queue is scheduled for immediate delivery
$newsletter->afterTimeType = null;
$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
$queue = SendingQueue::findTaskByNewsletterId(1)->findOne();
expect($queue->id)->greaterOrEquals(1);
@ -155,7 +156,7 @@ class WelcomeTest extends \MailPoetTest {
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
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id)
->findOne();
@ -242,7 +243,7 @@ class WelcomeTest extends \MailPoetTest {
$subscriber_id = 10,
$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
// queue is created and scheduled for delivery one day later
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id)
@ -266,7 +267,7 @@ class WelcomeTest extends \MailPoetTest {
$subscriber_id = 10,
$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
// queue is created and scheduled for delivery one day later
$queue = SendingQueue::findTaskByNewsletterId($newsletter->id)

View File

@ -103,20 +103,20 @@ class ShortcodesTest extends \MailPoetTest {
public function testItCanProcessDateShortcodes() {
$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'];
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'];
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'];
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'];
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'];
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)
$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() {

View File

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

View File

@ -8,6 +8,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Tasks\Subscribers;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM;
@ -130,7 +131,7 @@ class SendingTest extends \MailPoetTest {
public function testItGetsScheduledQueues() {
$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();
$tasks = SendingTask::getScheduledQueues();
expect($tasks)->notEmpty();
@ -161,7 +162,7 @@ class SendingTest extends \MailPoetTest {
public function testItGetsRunningQueues() {
$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();
$tasks = SendingTask::getRunningQueues();
expect($tasks)->notEmpty();
@ -252,7 +253,7 @@ class SendingTest extends \MailPoetTest {
$sending = SendingTask::create($task, $queue);
$sending->setSubscribers([123, 456]); // random IDs
$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();
}