Set proper status by typing in newsletter update and resume sending
[MAILPOET-6241]
This commit is contained in:
committed by
Aschepikov
parent
babc7453ad
commit
80c1888edd
@@ -327,7 +327,7 @@ class NewsletterSaveController {
|
||||
}
|
||||
|
||||
if ($newsletter->getStatus() === NewsletterEntity::STATUS_CORRUPT) {
|
||||
$newsletter->setStatus(NewsletterEntity::STATUS_SENDING);
|
||||
$newsletter->setStatus($newsletter->canBeSetActive() ? NewsletterEntity::STATUS_ACTIVE : NewsletterEntity::STATUS_SENDING);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -197,7 +197,7 @@ class SendingQueuesRepository extends Repository {
|
||||
$queue->setNewsletterRenderedBody(null);
|
||||
$this->persist($queue);
|
||||
}
|
||||
$newsletter->setStatus(NewsletterEntity::STATUS_SENDING);
|
||||
$newsletter->setStatus($newsletter->canBeSetActive() ? NewsletterEntity::STATUS_ACTIVE : NewsletterEntity::STATUS_SENDING);
|
||||
$task->setStatus(null);
|
||||
$this->flush();
|
||||
}
|
||||
|
@@ -411,6 +411,18 @@ class NewsletterSaveControllerTest extends \MailPoetTest {
|
||||
verify($newsletter->getReplyToAddress())->same('reply@test.com');
|
||||
}
|
||||
|
||||
public function testItResetCorruptedState(): void {
|
||||
$newsletter = $this->createNewsletter(NewsletterEntity::TYPE_STANDARD, NewsletterEntity::STATUS_CORRUPT);
|
||||
$data = ['subject' => 'My First Newsletter', 'id' => $newsletter->getId()];
|
||||
$newsletter = $this->saveController->save($data);
|
||||
verify($newsletter->getStatus())->equals(NewsletterEntity::STATUS_SENDING);
|
||||
|
||||
$activableNewsletter = $this->createNewsletter(NewsletterEntity::TYPE_AUTOMATION, NewsletterEntity::STATUS_CORRUPT);
|
||||
$data = ['subject' => 'My Automation Newsletter', 'id' => $activableNewsletter->getId()];
|
||||
$activableNewsletter = $this->saveController->save($data);
|
||||
verify($activableNewsletter->getStatus())->equals(NewsletterEntity::STATUS_ACTIVE);
|
||||
}
|
||||
|
||||
private function createNewsletter(string $type, string $status = NewsletterEntity::STATUS_DRAFT): NewsletterEntity {
|
||||
$newsletter = new NewsletterEntity();
|
||||
$newsletter->setType($type);
|
||||
|
@@ -91,6 +91,25 @@ class SendingQueuesRepositoryTest extends \MailPoetTest {
|
||||
verify($newsletter->getStatus())->equals(NewsletterEntity::STATUS_SENDING);
|
||||
}
|
||||
|
||||
public function testItResumesSendingOfActivableNewsletter() {
|
||||
$task = $this->createTask();
|
||||
$task->setStatus(ScheduledTaskEntity::STATUS_PAUSED);
|
||||
$queue = $this->createQueue($task);
|
||||
$newsletter = $queue->getNewsletter();
|
||||
$this->assertInstanceOf(NewsletterEntity::class, $newsletter);
|
||||
$newsletter->setType(NewsletterEntity::TYPE_AUTOMATION);
|
||||
$newsletter->setStatus(NewsletterEntity::STATUS_ACTIVE);
|
||||
$queue->setCountTotal(1);
|
||||
$queue->setCountProcessed(2);
|
||||
$this->entityManager->flush();
|
||||
|
||||
$this->repository->resume($queue);
|
||||
$this->entityManager->refresh($task);
|
||||
|
||||
verify($task->getStatus())->null();
|
||||
verify($newsletter->getStatus())->equals(NewsletterEntity::STATUS_ACTIVE);
|
||||
}
|
||||
|
||||
public function testItReturnsCountOfQueuesByNewsletter() {
|
||||
$taskStatus = ScheduledTaskEntity::STATUS_PAUSED;
|
||||
|
||||
|
Reference in New Issue
Block a user