From ab19ef92d522cd8fca44e6a77b1a00a3e06f801b Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Thu, 27 Apr 2023 09:50:08 +0200 Subject: [PATCH] Use subscriber count reporter in cron for reporting stats [MAILPOET-5191] --- .../Cron/Workers/SubscribersStatsReport.php | 12 +++++----- .../Workers/SubscribersStatsReportTest.php | 22 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/mailpoet/lib/Cron/Workers/SubscribersStatsReport.php b/mailpoet/lib/Cron/Workers/SubscribersStatsReport.php index 12e1af9589..ce892425fb 100644 --- a/mailpoet/lib/Cron/Workers/SubscribersStatsReport.php +++ b/mailpoet/lib/Cron/Workers/SubscribersStatsReport.php @@ -5,15 +5,15 @@ namespace MailPoet\Cron\Workers; use MailPoet\Config\ServicesChecker; use MailPoet\Cron\CronWorkerScheduler; use MailPoet\Entities\ScheduledTaskEntity; -use MailPoet\Services\Bridge; +use MailPoet\Services\SubscribersCountReporter; use MailPoet\WP\Functions as WPFunctions; use MailPoetVendor\Carbon\Carbon; class SubscribersStatsReport extends SimpleWorker { const TASK_TYPE = 'subscribers_stats_report'; - /** @var Bridge */ - private $bridge; + /** @var SubscribersCountReporter */ + private $subscribersCountReporter; /** @var ServicesChecker */ private $serviceChecker; @@ -22,13 +22,13 @@ class SubscribersStatsReport extends SimpleWorker { private $workerScheduler; public function __construct( - Bridge $bridge, + SubscribersCountReporter $subscribersCountReporter, ServicesChecker $servicesChecker, CronWorkerScheduler $workerScheduler, WPFunctions $wp ) { parent::__construct($wp); - $this->bridge = $bridge; + $this->subscribersCountReporter = $subscribersCountReporter; $this->serviceChecker = $servicesChecker; $this->workerScheduler = $workerScheduler; } @@ -42,7 +42,7 @@ class SubscribersStatsReport extends SimpleWorker { if ($key === null) { return false; } - $result = $this->bridge->updateSubscriberCount($key); + $result = $this->subscribersCountReporter->report($key); // We have a valid key, but request failed if ($result === false) { $this->workerScheduler->rescheduleProgressively($task); diff --git a/mailpoet/tests/integration/Cron/Workers/SubscribersStatsReportTest.php b/mailpoet/tests/integration/Cron/Workers/SubscribersStatsReportTest.php index b80a1dc4b9..c94c50cc03 100644 --- a/mailpoet/tests/integration/Cron/Workers/SubscribersStatsReportTest.php +++ b/mailpoet/tests/integration/Cron/Workers/SubscribersStatsReportTest.php @@ -5,7 +5,7 @@ namespace MailPoet\Cron\Workers; use MailPoet\Config\ServicesChecker; use MailPoet\Cron\CronWorkerScheduler; use MailPoet\Entities\ScheduledTaskEntity; -use MailPoet\Services\Bridge; +use MailPoet\Services\SubscribersCountReporter; use MailPoet\WP\Functions as WPFunctions; use MailPoetVendor\Carbon\Carbon; use PHPUnit\Framework\MockObject\MockObject; @@ -20,8 +20,8 @@ class SubscribersStatsReportTest extends \MailPoetTest { /** @var SubscribersStatsReport */ private $worker; - /** @var Bridge & MockObject */ - private $bridgeMock; + /** @var SubscribersCountReporter & MockObject */ + private $countReporerMock; /** @var CronWorkerScheduler & MockObject */ private $schedulerMock; @@ -34,12 +34,12 @@ class SubscribersStatsReportTest extends \MailPoetTest { public function _before() { parent::_before(); - $this->bridgeMock = $this->createMock(Bridge::class); + $this->countReporerMock = $this->createMock(SubscribersCountReporter::class); $this->schedulerMock = $this->createMock(CronWorkerScheduler::class); $this->servicesCheckerMock = $this->createMock(ServicesChecker::class); $this->wpMock = $this->createMock(WPFunctions::class); $this->worker = new SubscribersStatsReport( - $this->bridgeMock, + $this->countReporerMock, $this->servicesCheckerMock, $this->schedulerMock, $this->wpMock @@ -66,8 +66,8 @@ class SubscribersStatsReportTest extends \MailPoetTest { $this->servicesCheckerMock->expects($this->once()) ->method('getValidAccountKey') ->willReturn('a_valid_key'); - $this->bridgeMock->expects($this->once()) - ->method('updateSubscriberCount') + $this->countReporerMock->expects($this->once()) + ->method('report') ->willReturn(true); expect($this->worker->processTaskStrategy($task, $timer))->true(); } @@ -78,8 +78,8 @@ class SubscribersStatsReportTest extends \MailPoetTest { $this->servicesCheckerMock->expects($this->once()) ->method('getValidAccountKey') ->willReturn(null); - $this->bridgeMock->expects($this->never()) - ->method('updateSubscriberCount'); + $this->countReporerMock->expects($this->never()) + ->method('report'); expect($this->worker->processTaskStrategy($task, $timer))->false(); } @@ -89,8 +89,8 @@ class SubscribersStatsReportTest extends \MailPoetTest { $this->servicesCheckerMock->expects($this->once()) ->method('getValidAccountKey') ->willReturn('a_valid_key'); - $this->bridgeMock->expects($this->once()) - ->method('updateSubscriberCount') + $this->countReporerMock->expects($this->once()) + ->method('report') ->willReturn(false); $this->schedulerMock->expects($this->once()) ->method('rescheduleProgressively');