Files
piratepoet/mailpoet/tests/DataFactories/ScheduledTaskSubscriber.php
Jan Jakes c67c58709b Unify spacing of declare statements
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00

41 lines
1.5 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\Test\DataFactories;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Entities\ScheduledTaskSubscriberEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoetVendor\Doctrine\ORM\EntityManager;
class ScheduledTaskSubscriber {
/** @var EntityManager */
private $entityManager;
public function __construct() {
$diContainer = ContainerWrapper::getInstance();
$this->entityManager = $diContainer->get(EntityManager::class);
}
public function createUnprocessed(ScheduledTaskEntity $task, SubscriberEntity $subscriberEntity): ScheduledTaskSubscriberEntity {
$taskSubscriber = new ScheduledTaskSubscriberEntity($task, $subscriberEntity);
$this->entityManager->persist($taskSubscriber);
$this->entityManager->flush();
return $taskSubscriber;
}
public function createProcessed(ScheduledTaskEntity $task, SubscriberEntity $subscriberEntity): ScheduledTaskSubscriberEntity {
$taskSubscriber = new ScheduledTaskSubscriberEntity($task, $subscriberEntity, 1);
$this->entityManager->persist($taskSubscriber);
$this->entityManager->flush();
return $taskSubscriber;
}
public function createFailed(ScheduledTaskEntity $task, SubscriberEntity $subscriberEntity, string $error = null): ScheduledTaskSubscriberEntity {
$taskSubscriber = new ScheduledTaskSubscriberEntity($task, $subscriberEntity, 1, 1, $error);
$this->entityManager->persist($taskSubscriber);
$this->entityManager->flush();
return $taskSubscriber;
}
}