Fix and improve SchedulerTest::testItDeletesScheduledAutomaticEmailWhenUserDoesNotExist()

Having no segment and no task subscriber caused the test pass even without removing the subscriber.

[MAILPOET-4375]
This commit is contained in:
Jan Jakes
2023-10-27 09:55:39 +02:00
committed by Aschepikov
parent 2de356bcbb
commit dd5a11a34f

View File

@@ -800,7 +800,10 @@ class SchedulerTest extends \MailPoetTest {
public function testItDeletesScheduledAutomaticEmailWhenUserDoesNotExist() {
$newsletter = $this->_createNewsletter(NewsletterEntity::TYPE_AUTOMATIC, NewsletterEntity::STATUS_SCHEDULED);
$subscriber = $this->_createSubscriber();
$this->createTaskWithQueue($newsletter);
$task = $this->createTaskWithQueue($newsletter);
$this->createTaskSubscriber($task, $subscriber);
verify($this->scheduledTasksRepository->findOneByNewsletter($newsletter))->notNull();
// remove subscriber, but not scheduled task subscriber
$this->entityManager->getConnection()->delete(
@@ -812,8 +815,7 @@ class SchedulerTest extends \MailPoetTest {
// task should be deleted
$scheduler = $this->getScheduler();
$scheduler->process();
$task = $this->scheduledTasksRepository->findOneByNewsletter($newsletter);
verify($task)->null();
verify($this->scheduledTasksRepository->findOneByNewsletter($newsletter))->null();
}
public function testItProcessesScheduledAutomaticEmailWhenSendingToSegment() {