Handle errors when filtering dynamic segments
When a segment has an invalid filter we don't want that error to break other pages in the MailPoet admin. MAILPOET-5538
This commit is contained in:
committed by
Aschepikov
parent
2a1245bd8a
commit
5972db6a47
@@ -229,6 +229,22 @@ class SegmentSubscribersRepositoryTest extends \MailPoetTest {
|
||||
verify($countWithFilter)->equals(2);
|
||||
}
|
||||
|
||||
public function testSubscriberCountIsZeroIfItHasAnInvalidFilter(): void {
|
||||
$segment = new SegmentEntity('Segment' . rand(0, 10000), SegmentEntity::TYPE_DYNAMIC, 'Segment description');
|
||||
$filterData = new DynamicSegmentFilterData(
|
||||
'typeThatDefinitelyDoesNotExist',
|
||||
'theActionDoesNotExistEither'
|
||||
);
|
||||
$dynamicFilter = new DynamicSegmentFilterEntity($segment, $filterData);
|
||||
$segment->getDynamicFilters()->add($dynamicFilter);
|
||||
$this->entityManager->persist($segment);
|
||||
$this->entityManager->persist($dynamicFilter);
|
||||
$this->entityManager->flush();
|
||||
|
||||
$count = $this->repository->getSubscribersCountBySegmentIds([$segment->getId()]);
|
||||
$this->assertEquals(0, $count);
|
||||
}
|
||||
|
||||
public function _after() {
|
||||
parent::_after();
|
||||
$this->cleanup();
|
||||
|
Reference in New Issue
Block a user