Set proper status when resending activable newsletter type
[MAILPOET-6241]
This commit is contained in:
committed by
Aschepikov
parent
ab3d6a1fcb
commit
79de8cc17c
@ -127,7 +127,10 @@ class SendingTaskSubscribers extends APIEndpoint {
|
||||
|
||||
$taskSubscriber->resetToUnprocessed();
|
||||
$taskSubscriber->getTask()->setStatus(null);
|
||||
$newsletter->setStatus(NewsletterEntity::STATUS_SENDING);
|
||||
$newsletter->setStatus(
|
||||
$newsletter->canBeSetActive() ? NewsletterEntity::STATUS_ACTIVE : NewsletterEntity::STATUS_SENDING
|
||||
);
|
||||
|
||||
// Each repository flushes all changes
|
||||
$this->scheduledTaskSubscribersRepository->flush();
|
||||
return $this->successResponse([]);
|
||||
|
@ -210,4 +210,38 @@ class SendingTaskSubscribersTest extends \MailPoetTest {
|
||||
$this->entityManager->refresh($this->newsletter);
|
||||
verify($this->newsletter->getStatus())->equals(NewsletterEntity::STATUS_SENDING);
|
||||
}
|
||||
|
||||
public function testItCanResendAutomationEmail() {
|
||||
$newsletter = (new NewsletterFactory())->withSubject('My Automatic Newsletter')
|
||||
->withType(NewsletterEntity::TYPE_AUTOMATION)
|
||||
->withStatus(NewsletterEntity::STATUS_ACTIVE)
|
||||
->withBody(Fixtures::get('newsletter_body_template'))
|
||||
->withSendingQueue()
|
||||
->create();
|
||||
|
||||
$queue = $newsletter->getLatestQueue();
|
||||
$task = $queue->getTask();
|
||||
|
||||
$failedSubscriber = $this->subscriberFactory
|
||||
->withEmail('failed2@example.com')
|
||||
->withFirstName('Failed')
|
||||
->withLastName('Test')
|
||||
->create();
|
||||
$failedSubscriberTask = $this->taskSubscriberFactory->createFailed($task, $failedSubscriber, 'Something went wrong!');
|
||||
|
||||
$res = $this->endpoint->resend([
|
||||
'taskId' => $task->getId(),
|
||||
'subscriberId' => $failedSubscriber->getId(),
|
||||
]);
|
||||
|
||||
verify($res->status)->equals(APIResponse::STATUS_OK);
|
||||
$this->entityManager->refresh($newsletter);
|
||||
$this->entityManager->refresh($task);
|
||||
$this->entityManager->refresh($failedSubscriberTask);
|
||||
|
||||
verify($newsletter->getStatus())->equals(NewsletterEntity::STATUS_ACTIVE);
|
||||
verify($task->getStatus())->equals(null);
|
||||
verify($failedSubscriberTask->getProcessed())->equals(0);
|
||||
verify($failedSubscriberTask->getFailed())->equals(0);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user