Clear cache in failing integration tests

[MAILPOET-3646]
This commit is contained in:
Jan Lysý
2021-07-02 13:39:12 +02:00
committed by Veljko V
parent 7e7038deb3
commit 9f9706e319
3 changed files with 11 additions and 0 deletions

View File

@ -124,6 +124,7 @@ class SegmentSubscribersRepositoryTest extends \MailPoetTest {
}
$this->entityManager->flush();
$this->clearSubscribersCountCache();
$subscribersCount = $this->repository->getSubscribersStatisticsCount($segment);
expect($subscribersCount[SubscriberEntity::STATUS_SUBSCRIBED])->equals(0);
expect($subscribersCount[SubscriberEntity::STATUS_UNSUBSCRIBED])->equals(4);
@ -139,6 +140,7 @@ class SegmentSubscribersRepositoryTest extends \MailPoetTest {
}
$this->entityManager->flush();
$this->clearSubscribersCountCache();
$subscribersCount = $this->repository->getSubscribersStatisticsCount($segment);
expect($subscribersCount[SubscriberEntity::STATUS_SUBSCRIBED])->equals(0);
expect($subscribersCount[SubscriberEntity::STATUS_UNSUBSCRIBED])->equals(0);
@ -246,5 +248,6 @@ class SegmentSubscribersRepositoryTest extends \MailPoetTest {
$this->truncateEntity(SubscriberEntity::class);
$this->truncateEntity(SubscriberSegmentEntity::class);
$this->truncateEntity(DynamicSegmentFilterEntity::class);
$this->clearSubscribersCountCache();
}
}

View File

@ -295,5 +295,6 @@ class ImportExportFactoryTest extends \MailPoetTest {
Segment::deleteMany();
SubscriberSegment::deleteMany();
CustomField::deleteMany();
$this->clearSubscribersCountCache();
}
}

View File

@ -1,5 +1,6 @@
<?php
use MailPoet\Cache\TransientCache;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Settings\SettingsController;
@ -183,6 +184,7 @@ abstract class MailPoetTest extends \Codeception\TestCase\Test { // phpcs:ignore
// Cleanup scheduled tasks from previous tests
$this->truncateEntity(ScheduledTaskEntity::class);
$this->entityManager->clear();
$this->clearSubscribersCountCache();
parent::setUp();
}
@ -225,6 +227,11 @@ abstract class MailPoetTest extends \Codeception\TestCase\Test { // phpcs:ignore
$connection->executeUpdate("TRUNCATE $tableName");
$connection->query('SET FOREIGN_KEY_CHECKS=1');
}
public function clearSubscribersCountCache() {
$cache = $this->diContainer->get(TransientCache::class);
$cache->invalidateItems(TransientCache::SUBSCRIBERS_STATISTICS_COUNT_KEY);
}
}
function asCallable($fn) {