From e53cfa95e80dee9c7dda8e8c46a13bb72bff590a Mon Sep 17 00:00:00 2001 From: David Remer Date: Tue, 5 Sep 2023 09:43:23 +0300 Subject: [PATCH] Add method getSubscribedSegmentIds [MAILPOET-5555] --- .../SubscriberSegmentRepositoryTest.php | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/mailpoet/tests/integration/Subscribers/SubscriberSegmentRepositoryTest.php b/mailpoet/tests/integration/Subscribers/SubscriberSegmentRepositoryTest.php index 70db5d700a..ff43742207 100644 --- a/mailpoet/tests/integration/Subscribers/SubscriberSegmentRepositoryTest.php +++ b/mailpoet/tests/integration/Subscribers/SubscriberSegmentRepositoryTest.php @@ -26,12 +26,7 @@ class SubscriberSegmentRepositoryTest extends \MailPoetTest { $this->testee->resetSubscriptions($subscriber, [$segment1, $segment2, $segment3, $segment4]); $subscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_SUBSCRIBED); $unsubscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_UNSUBSCRIBED); - $subscribedSegmentIds = array_map( - function(SubscriberSegmentEntity $entity): ?int { - return $entity->getSegment() ? $entity->getSegment()->getId() : null; - }, - $subscribedSegments->toArray() - ); + $subscribedSegmentIds = $this->getSubscribedSegmentIds($subscribedSegments->toArray()); $this->assertEquals(0, $unsubscribedSegments->count()); $this->assertCount(4, $subscribedSegmentIds); @@ -43,12 +38,7 @@ class SubscriberSegmentRepositoryTest extends \MailPoetTest { $this->testee->resetSubscriptions($subscriber, [$segment2, $segment3, $segment4]); $subscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_SUBSCRIBED); $unsubscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_UNSUBSCRIBED); - $subscribedSegmentIds = array_map( - function(SubscriberSegmentEntity $entity): ?int { - return $entity->getSegment() ? $entity->getSegment()->getId() : null; - }, - $subscribedSegments->toArray() - ); + $subscribedSegmentIds = $this->getSubscribedSegmentIds($subscribedSegments->toArray()); $this->assertEquals(1, $unsubscribedSegments->count()); $this->assertCount(3, $subscribedSegmentIds); @@ -60,12 +50,8 @@ class SubscriberSegmentRepositoryTest extends \MailPoetTest { $this->testee->resetSubscriptions($subscriber, [$segment1, $segment2, $segment3, $segment4]); $subscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_SUBSCRIBED); $unsubscribedSegments = $subscriber->getSubscriberSegments(SubscriberEntity::STATUS_UNSUBSCRIBED); - $subscribedSegmentIds = array_map( - function(SubscriberSegmentEntity $entity): ?int { - return $entity->getSegment() ? $entity->getSegment()->getId() : null; - }, - $subscribedSegments->toArray() - ); + $subscribedSegmentIds = $this->getSubscribedSegmentIds($subscribedSegments->toArray()); + $this->assertEquals(0, $unsubscribedSegments->count()); $this->assertCount(4, $subscribedSegmentIds); $this->assertContains($segment1->getId(), $subscribedSegmentIds); @@ -79,4 +65,17 @@ class SubscriberSegmentRepositoryTest extends \MailPoetTest { $this->assertEquals(4, $unsubscribedSegments->count()); $this->assertEquals(0, $subscribedSegments->count()); } + + /** + * @param SubscriberSegmentEntity[] $subscribedSegments + * @return int[] + */ + private function getSubscribedSegmentIds(array $subscribedSegments): array { + return array_values(array_filter(array_map( + function(SubscriberSegmentEntity $entity): ?int { + return $entity->getSegment() ? $entity->getSegment()->getId() : null; + }, + $subscribedSegments + ))); + } }