Files
piratepoet/tests/DataFactories/StatisticsOpens.php
2021-06-14 11:28:18 +02:00

40 lines
1.0 KiB
PHP

<?php
namespace MailPoet\Test\DataFactories;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\StatisticsOpenEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoetVendor\Doctrine\ORM\EntityManager;
class StatisticsOpens {
protected $data;
/** @var NewsletterEntity */
private $newsletter;
/** @var SubscriberEntity */
private $subscriber;
public function __construct(NewsletterEntity $newsletter, SubscriberEntity $subscriber) {
$this->newsletter = $newsletter;
$this->subscriber = $subscriber;
}
public function create(): StatisticsOpenEntity {
$entityManager = ContainerWrapper::getInstance()->get(EntityManager::class);
$queue = $this->newsletter->getLatestQueue();
assert($queue instanceof SendingQueueEntity);
$entity = new StatisticsOpenEntity(
$this->newsletter,
$queue,
$this->subscriber
);
$entityManager->persist($entity);
$entityManager->flush();
return $entity;
}
}