Add missing ContainerWrapper return type, fix reported errors

[MAILPOET-5569]
This commit is contained in:
Jan Jakes
2023-08-29 15:21:02 +02:00
committed by Aschepikov
parent e343c9201a
commit e2cf884b98
9 changed files with 25 additions and 4 deletions

View File

@@ -12,6 +12,7 @@ class API {
* @throws \Exception
*/
public static function MP($version) {
/** @var class-string<\MailPoet\API\MP\v1\API> $apiClass */
$apiClass = sprintf('%s\MP\%s\API', __NAMESPACE__, $version);
try {
return ContainerWrapper::getInstance()->get($apiClass);

View File

@@ -64,7 +64,7 @@ class ContainerWrapper implements ContainerInterface {
return $this->premiumContainer;
}
public static function getInstance($debug = false) {
public static function getInstance($debug = false): ContainerWrapper {
if (self::$instance) {
return self::$instance;
}

View File

@@ -4,12 +4,15 @@ namespace MailPoet\Subscribers\ImportExport\PersonalDataExporters;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Statistics\StatisticsClicksRepository;
use MailPoet\Statistics\StatisticsOpensRepository;
use MailPoet\Subscribers\SubscribersRepository;
abstract class NewsletterStatsBaseExporter {
const LIMIT = 100;
/** @var class-string<StatisticsClicksRepository>|class-string<StatisticsOpensRepository> */
protected $statsClassName;
protected $subscriberRepository;
@@ -38,6 +41,8 @@ abstract class NewsletterStatsBaseExporter {
$result = [];
$statsClass = ContainerWrapper::getInstance()->get($this->statsClassName);
/** @var array[] $statistics */
$statistics = $statsClass->getAllForSubscriber($subscriber)
->setMaxResults(self::LIMIT)
->setFirstResult(self::LIMIT * ($page - 1))

View File

@@ -5,6 +5,7 @@ namespace MailPoet\Tasks;
use MailPoet\Cron\Workers\SendingQueue\SendingQueue as SendingQueueAlias;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\InvalidStateException;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber;
@@ -194,6 +195,9 @@ class Sending {
public function getSendingQueueEntity(): SendingQueueEntity {
$sendingQueuesRepository = ContainerWrapper::getInstance()->get(SendingQueuesRepository::class);
$sendingQueueEntity = $sendingQueuesRepository->findOneById($this->queue->id);
if (!$sendingQueueEntity) {
throw new InvalidStateException();
}
$sendingQueuesRepository->refresh($sendingQueueEntity);
return $sendingQueueEntity;

View File

@@ -13,6 +13,7 @@ use MailPoet\Automation\Engine\Storage\AutomationRunLogStorage;
use MailPoet\Automation\Engine\Storage\AutomationRunStorage;
use MailPoet\Automation\Engine\Storage\AutomationStorage;
use MailPoet\DI\ContainerWrapper;
use MailPoet\InvalidStateException;
class AutomationRun {
@@ -106,11 +107,17 @@ class AutomationRun {
$id = $this->storage->createAutomationRun($automationRun);
$this->storage->updateNextStep($id, $this->nextStep);
$this->automationRun = $this->storage->getAutomationRun($id);
if (!$this->automationRun) {
throw new InvalidStateException();
}
return $this->automationRun;
}
public function generateLogs(Entity $run, string $lastStep) {
$automation = ContainerWrapper::getInstance(WP_DEBUG)->get(AutomationStorage::class)->getAutomation($run->getAutomationId());
if (!$automation) {
throw new InvalidStateException();
}
$steps = $this->findPathToStep($automation, $lastStep);
$logStorage = ContainerWrapper::getInstance(WP_DEBUG)->get(AutomationRunLogStorage::class);

View File

@@ -27,6 +27,8 @@ class IntegrationCleanupExtension extends Extension {
$this->entityManager = ContainerWrapper::getInstance()->get(EntityManager::class);
$mpPrefix = Env::$dbPrefix;
/** @var string[] $tables */
$tables = $this->entityManager->getConnection()->fetchFirstColumn("
SELECT table_name
FROM information_schema.tables

View File

@@ -250,6 +250,7 @@ class NewsletterTest extends \MailPoetTest {
$newsletterPost = $newsletterPostRepository->findOneBy(['newsletter' => $this->newsletter->getId()]);
expect($newsletterPost)->isInstanceOf(NewsletterPostEntity::class);
expect($result)->notEquals(false);
$this->assertInstanceOf(NewsletterPostEntity::class, $newsletterPost);
expect($newsletterPost->getPostId())->equals('10');
}

View File

@@ -47,8 +47,8 @@ class PostsTest extends \MailPoetTest {
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(true);
$newsletterPostRepository = ContainerWrapper::getInstance()->get(NewsletterPostsRepository::class);
$newsletterPost = $newsletterPostRepository->findOneBy(['newsletter' => $parent]);
expect($newsletterPost)->isInstanceOf(NewsletterPostEntity::class);
expect($newsletterPost->getPostId())->equals($postId);
$this->assertInstanceOf(NewsletterPostEntity::class, $newsletterPost);
$this->assertSame($newsletterPost->getPostId(), $postId);
}
public function testItDoesNotSavePostsWhenNewsletterIsNotANotificationHistory() {

View File

@@ -72,7 +72,8 @@ class AutomationsCreateFromTemplateTest extends AutomationTest {
]);
$allAutomations = $storage->getAutomations();
$createdAutomation = array_pop($allAutomations);
expect($createdAutomation->getStatus())->equals('draft');
$this->assertInstanceOf(Automation::class, $createdAutomation);
$this->assertSame($createdAutomation->getStatus(), 'draft');
}
public function testAutomationsCreatedFromTemplatesReturnsAutomationId(): void {