Remove PHPStan level 6 errors from DynamicSegments

Remove the following errors:
(Method|Property|Function) has no (return )?type specified.
(Method|Function) has parameter with no type (specified).

[MAILPOET-3720]
This commit is contained in:
Brezo Cordero
2022-05-13 17:39:28 -05:00
committed by Veljko V
parent 1885825e24
commit ec47cf429a
5 changed files with 68 additions and 49 deletions

View File

@ -7,7 +7,7 @@ use MailPoet\Segments\SegmentListingRepository;
use MailPoetVendor\Doctrine\ORM\QueryBuilder; use MailPoetVendor\Doctrine\ORM\QueryBuilder;
class DynamicSegmentsListingRepository extends SegmentListingRepository { class DynamicSegmentsListingRepository extends SegmentListingRepository {
protected function applyParameters(QueryBuilder $queryBuilder, array $parameters) { protected function applyParameters(QueryBuilder $queryBuilder, array $parameters): void {
$queryBuilder $queryBuilder
->andWhere('s.type = :type') ->andWhere('s.type = :type')
->setParameter('type', SegmentEntity::TYPE_DYNAMIC); ->setParameter('type', SegmentEntity::TYPE_DYNAMIC);

View File

@ -122,7 +122,11 @@ class FilterFactory {
} }
} }
private function userRole($action) { /**
* @param ?string $action
* @return MailPoetCustomFields|SubscriberScore|SubscriberSegment|SubscriberSubscribedDate|UserRole
*/
private function userRole(?string $action) {
if ($action === SubscriberSubscribedDate::TYPE) { if ($action === SubscriberSubscribedDate::TYPE) {
return $this->subscriberSubscribedDate; return $this->subscriberSubscribedDate;
} elseif ($action === SubscriberScore::TYPE) { } elseif ($action === SubscriberScore::TYPE) {
@ -135,7 +139,11 @@ class FilterFactory {
return $this->userRole; return $this->userRole;
} }
private function email($action) { /**
* @param ?string $action
* @return EmailAction|EmailActionClickAny|EmailOpensAbsoluteCountAction
*/
private function email(?string $action) {
$countActions = [EmailOpensAbsoluteCountAction::TYPE, EmailOpensAbsoluteCountAction::MACHINE_TYPE]; $countActions = [EmailOpensAbsoluteCountAction::TYPE, EmailOpensAbsoluteCountAction::MACHINE_TYPE];
if (in_array($action, $countActions)) { if (in_array($action, $countActions)) {
return $this->emailOpensAbsoluteCount; return $this->emailOpensAbsoluteCount;
@ -145,15 +153,25 @@ class FilterFactory {
return $this->emailAction; return $this->emailAction;
} }
/**
* @return WooCommerceMembership
*/
private function wooCommerceMembership() { private function wooCommerceMembership() {
return $this->wooCommerceMembership; return $this->wooCommerceMembership;
} }
/**
* @return WooCommerceSubscription
*/
private function wooCommerceSubscription() { private function wooCommerceSubscription() {
return $this->wooCommerceSubscription; return $this->wooCommerceSubscription;
} }
private function wooCommerce($action) { /**
* @param ?string $action
* @return WooCommerceCategory|WooCommerceCountry|WooCommerceNumberOfOrders|WooCommerceProduct|WooCommerceTotalSpent
*/
private function wooCommerce(?string $action) {
if ($action === WooCommerceProduct::ACTION_PRODUCT) { if ($action === WooCommerceProduct::ACTION_PRODUCT) {
return $this->wooCommerceProduct; return $this->wooCommerceProduct;
} elseif ($action === WooCommerceNumberOfOrders::ACTION_NUMBER_OF_ORDERS) { } elseif ($action === WooCommerceNumberOfOrders::ACTION_NUMBER_OF_ORDERS) {

View File

@ -14,6 +14,7 @@ use MailPoet\Segments\DynamicSegments\Filters\UserRole;
use MailPoet\Subscribers\SubscribersRepository; use MailPoet\Subscribers\SubscribersRepository;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Doctrine\DBAL\Driver\Statement; use MailPoetVendor\Doctrine\DBAL\Driver\Statement;
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
class FilterHandlerTest extends \MailPoetTest { class FilterHandlerTest extends \MailPoetTest {
@ -26,7 +27,7 @@ class FilterHandlerTest extends \MailPoetTest {
/** @var SubscriberEntity */ /** @var SubscriberEntity */
private $subscriber2; private $subscriber2;
public function _before() { public function _before(): void {
$this->cleanWpUsers(); $this->cleanWpUsers();
$this->filterHandler = $this->diContainer->get(FilterHandler::class); $this->filterHandler = $this->diContainer->get(FilterHandler::class);
$this->tester->createWordPressUser('user-role-test1@example.com', 'editor'); $this->tester->createWordPressUser('user-role-test1@example.com', 'editor');
@ -53,7 +54,7 @@ class FilterHandlerTest extends \MailPoetTest {
$this->entityManager->flush(); $this->entityManager->flush();
} }
public function testItAppliesFilter() { public function testItAppliesFilter(): void {
$segment = $this->getSegment('editor'); $segment = $this->getSegment('editor');
$statement = $this->filterHandler->apply($this->getQueryBuilder(), $segment)->execute(); $statement = $this->filterHandler->apply($this->getQueryBuilder(), $segment)->execute();
assert($statement instanceof Statement); assert($statement instanceof Statement);
@ -80,7 +81,7 @@ class FilterHandlerTest extends \MailPoetTest {
return $segment; return $segment;
} }
private function getQueryBuilder() { private function getQueryBuilder(): QueryBuilder {
$subscribersTable = $this->entityManager->getClassMetadata(SubscriberEntity::class)->getTableName(); $subscribersTable = $this->entityManager->getClassMetadata(SubscriberEntity::class)->getTableName();
return $this->entityManager return $this->entityManager
->getConnection() ->getConnection()
@ -89,7 +90,7 @@ class FilterHandlerTest extends \MailPoetTest {
->from($subscribersTable); ->from($subscribersTable);
} }
public function _after() { public function _after(): void {
$this->cleanWpUsers(); $this->cleanWpUsers();
$this->truncateEntity(SubscriberEntity::class); $this->truncateEntity(SubscriberEntity::class);
$this->truncateEntity(SegmentEntity::class); $this->truncateEntity(SegmentEntity::class);
@ -100,7 +101,7 @@ class FilterHandlerTest extends \MailPoetTest {
$this->truncateEntity(ScheduledTaskEntity::class); $this->truncateEntity(ScheduledTaskEntity::class);
} }
private function cleanWpUsers() { private function cleanWpUsers(): void {
$emails = ['user-role-test1@example.com', 'user-role-test2@example.com', 'user-role-test3@example.com']; $emails = ['user-role-test1@example.com', 'user-role-test2@example.com', 'user-role-test3@example.com'];
foreach ($emails as $email) { foreach ($emails as $email) {
$this->tester->deleteWordPressUser($email); $this->tester->deleteWordPressUser($email);

View File

@ -13,13 +13,13 @@ class SegmentSaveControllerTest extends \MailPoetTest {
/** @var SegmentSaveController */ /** @var SegmentSaveController */
private $saveController; private $saveController;
public function _before() { public function _before(): void {
parent::_before(); parent::_before();
$this->cleanup(); $this->cleanup();
$this->saveController = $this->diContainer->get(SegmentSaveController::class); $this->saveController = $this->diContainer->get(SegmentSaveController::class);
} }
public function testItCanSaveASegment() { public function testItCanSaveASegment(): void {
$segmentData = [ $segmentData = [
'name' => 'Test Segment', 'name' => 'Test Segment',
'description' => 'Description', 'description' => 'Description',
@ -46,7 +46,7 @@ class SegmentSaveControllerTest extends \MailPoetTest {
]); ]);
} }
public function testItCanRemoveRedundantFilter() { public function testItCanRemoveRedundantFilter(): void {
$segment = $this->createSegment('Test Segment'); $segment = $this->createSegment('Test Segment');
$this->addDynamicFilter($segment, ['editor']); $this->addDynamicFilter($segment, ['editor']);
$this->addDynamicFilter($segment, ['administrator']); $this->addDynamicFilter($segment, ['administrator']);
@ -80,7 +80,7 @@ class SegmentSaveControllerTest extends \MailPoetTest {
]); ]);
} }
public function testItCheckDuplicateSegment() { public function testItCheckDuplicateSegment(): void {
$name = 'Test name'; $name = 'Test name';
$this->createSegment($name); $this->createSegment($name);
$segmentData = [ $segmentData = [
@ -97,7 +97,7 @@ class SegmentSaveControllerTest extends \MailPoetTest {
$this->saveController->save($segmentData); $this->saveController->save($segmentData);
} }
public function testItValidatesSegmentFilterData() { public function testItValidatesSegmentFilterData(): void {
$name = 'Test name'; $name = 'Test name';
$this->createSegment($name); $this->createSegment($name);
$segmentData = [ $segmentData = [
@ -132,7 +132,7 @@ class SegmentSaveControllerTest extends \MailPoetTest {
return $dynamicFilter; return $dynamicFilter;
} }
private function cleanup() { private function cleanup(): void {
$this->truncateEntity(SegmentEntity::class); $this->truncateEntity(SegmentEntity::class);
$this->truncateEntity(DynamicSegmentFilterEntity::class); $this->truncateEntity(DynamicSegmentFilterEntity::class);
} }

View File

@ -19,7 +19,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
/** @var FilterDataMapper */ /** @var FilterDataMapper */
private $mapper; private $mapper;
public function _before() { public function _before(): void {
parent::_before(); parent::_before();
$wp = $this->makeEmpty(WPFunctions::class, [ $wp = $this->makeEmpty(WPFunctions::class, [
'hasFilter' => false, 'hasFilter' => false,
@ -27,28 +27,28 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper = new FilterDataMapper($wp); $this->mapper = new FilterDataMapper($wp);
} }
public function testItChecksFiltersArePresent() { public function testItChecksFiltersArePresent(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Filters are missing'); $this->expectExceptionMessage('Filters are missing');
$this->expectExceptionCode(InvalidFilterException::MISSING_FILTER); $this->expectExceptionCode(InvalidFilterException::MISSING_FILTER);
$this->mapper->map([]); $this->mapper->map([]);
} }
public function testItChecksFilterTypeIsPresent() { public function testItChecksFilterTypeIsPresent(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Segment type is not set'); $this->expectExceptionMessage('Segment type is not set');
$this->expectExceptionCode(InvalidFilterException::MISSING_TYPE); $this->expectExceptionCode(InvalidFilterException::MISSING_TYPE);
$this->mapper->map(['filters' => [['someFilter']]]); $this->mapper->map(['filters' => [['someFilter']]]);
} }
public function testItChecksFilterTypeIsValid() { public function testItChecksFilterTypeIsValid(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Invalid type'); $this->expectExceptionMessage('Invalid type');
$this->expectExceptionCode(InvalidFilterException::INVALID_TYPE); $this->expectExceptionCode(InvalidFilterException::INVALID_TYPE);
$this->mapper->map(['filters' => [['segmentType' => 'noexistent']]]); $this->mapper->map(['filters' => [['segmentType' => 'noexistent']]]);
} }
public function testItMapsEmailFilter() { public function testItMapsEmailFilter(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailAction::ACTION_OPENED, 'action' => EmailAction::ACTION_OPENED,
@ -71,7 +71,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItMapsEmailFilterForClicksWithoutLink() { public function testItMapsEmailFilterForClicksWithoutLink(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailAction::ACTION_CLICKED, 'action' => EmailAction::ACTION_CLICKED,
@ -93,7 +93,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItMapsEmailFilterForClicksWithLinks() { public function testItMapsEmailFilterForClicksWithLinks(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailAction::ACTION_CLICKED, 'action' => EmailAction::ACTION_CLICKED,
@ -118,7 +118,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItChecksOperatorForEmailFilterForClicksWithLinks() { public function testItChecksOperatorForEmailFilterForClicksWithLinks(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailAction::ACTION_CLICKED, 'action' => EmailAction::ACTION_CLICKED,
@ -132,7 +132,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItChecksFilterEmailAction() { public function testItChecksFilterEmailAction(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing action'); $this->expectExceptionMessage('Missing action');
$this->expectExceptionCode(InvalidFilterException::MISSING_ACTION); $this->expectExceptionCode(InvalidFilterException::MISSING_ACTION);
@ -142,7 +142,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItChecksFilterEmailNewsletter() { public function testItChecksFilterEmailNewsletter(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing newsletter'); $this->expectExceptionMessage('Missing newsletter');
$this->expectExceptionCode(InvalidFilterException::MISSING_NEWSLETTER_ID); $this->expectExceptionCode(InvalidFilterException::MISSING_NEWSLETTER_ID);
@ -152,7 +152,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItChecksFilterEmailActionIsSupported() { public function testItChecksFilterEmailActionIsSupported(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Invalid email action'); $this->expectExceptionMessage('Invalid email action');
$this->expectExceptionCode(InvalidFilterException::INVALID_EMAIL_ACTION); $this->expectExceptionCode(InvalidFilterException::INVALID_EMAIL_ACTION);
@ -163,7 +163,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItMapsUserRoleFilter() { public function testItMapsUserRoleFilter(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE, 'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE,
'wordpressRole' => ['editor'], 'wordpressRole' => ['editor'],
@ -184,7 +184,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItChecksUserRoleFilterRole() { public function testItChecksUserRoleFilterRole(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing role'); $this->expectExceptionMessage('Missing role');
$this->expectExceptionCode(InvalidFilterException::MISSING_ROLE); $this->expectExceptionCode(InvalidFilterException::MISSING_ROLE);
@ -193,7 +193,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItChecksSubscribedDateValue() { public function testItChecksSubscribedDateValue(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->mapper->map(['filters' => [[ $this->mapper->map(['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE, 'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE,
@ -201,7 +201,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItCreatesSubscribedDate() { public function testItCreatesSubscribedDate(): void {
$filters = $this->mapper->map(['filters' => [[ $filters = $this->mapper->map(['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE, 'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE,
'action' => SubscriberSubscribedDate::TYPE, 'action' => SubscriberSubscribedDate::TYPE,
@ -222,7 +222,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItMapsWooCommerceCategory() { public function testItMapsWooCommerceCategory(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE, 'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE,
'action' => WooCommerceCategory::ACTION_CATEGORY, 'action' => WooCommerceCategory::ACTION_CATEGORY,
@ -245,7 +245,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItChecksWooCommerceAction() { public function testItChecksWooCommerceAction(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing action'); $this->expectExceptionMessage('Missing action');
$this->expectExceptionCode(InvalidFilterException::MISSING_ACTION); $this->expectExceptionCode(InvalidFilterException::MISSING_ACTION);
@ -255,7 +255,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItChecksWooCommerceCategoryId() { public function testItChecksWooCommerceCategoryId(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing category'); $this->expectExceptionMessage('Missing category');
$this->expectExceptionCode(InvalidFilterException::MISSING_CATEGORY_ID); $this->expectExceptionCode(InvalidFilterException::MISSING_CATEGORY_ID);
@ -266,7 +266,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItChecksWooCommerceCategoryOperator() { public function testItChecksWooCommerceCategoryOperator(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing operator'); $this->expectExceptionMessage('Missing operator');
$this->expectExceptionCode(InvalidFilterException::MISSING_OPERATOR); $this->expectExceptionCode(InvalidFilterException::MISSING_OPERATOR);
@ -278,7 +278,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItMapsWooCommerceProduct() { public function testItMapsWooCommerceProduct(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE, 'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE,
'action' => WooCommerceProduct::ACTION_PRODUCT, 'action' => WooCommerceProduct::ACTION_PRODUCT,
@ -301,7 +301,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItChecksWooCommerceProductId() { public function testItChecksWooCommerceProductId(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing product'); $this->expectExceptionMessage('Missing product');
$this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID); $this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID);
@ -311,7 +311,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItCreatesEmailOpens() { public function testItCreatesEmailOpens(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailOpensAbsoluteCountAction::TYPE, 'action' => EmailOpensAbsoluteCountAction::TYPE,
@ -334,7 +334,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItMapsLinkClicksAny() { public function testItMapsLinkClicksAny(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailActionClickAny::TYPE, 'action' => EmailActionClickAny::TYPE,
@ -353,7 +353,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItCreatesEmailOpensWithOperator() { public function testItCreatesEmailOpensWithOperator(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailOpensAbsoluteCountAction::TYPE, 'action' => EmailOpensAbsoluteCountAction::TYPE,
@ -377,7 +377,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItCreatesEmailOpensWithMissingOpens() { public function testItCreatesEmailOpensWithMissingOpens(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailOpensAbsoluteCountAction::TYPE, 'action' => EmailOpensAbsoluteCountAction::TYPE,
@ -387,7 +387,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItCreatesEmailOpensWithMissingDays() { public function testItCreatesEmailOpensWithMissingDays(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL,
'action' => EmailOpensAbsoluteCountAction::TYPE, 'action' => EmailOpensAbsoluteCountAction::TYPE,
@ -397,7 +397,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItMapsWooCommerceNumberOfOrders() { public function testItMapsWooCommerceNumberOfOrders(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE, 'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE,
'action' => WooCommerceNumberOfOrders::ACTION_NUMBER_OF_ORDERS, 'action' => WooCommerceNumberOfOrders::ACTION_NUMBER_OF_ORDERS,
@ -423,7 +423,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
expect($filter->getData())->equals($expectedResult); expect($filter->getData())->equals($expectedResult);
} }
public function testItRaisesExceptionWhenMappingWooCommerceNumberOfOrders() { public function testItRaisesExceptionWhenMappingWooCommerceNumberOfOrders(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing required fields'); $this->expectExceptionMessage('Missing required fields');
$this->expectExceptionCode(InvalidFilterException::MISSING_NUMBER_OF_ORDERS_FIELDS); $this->expectExceptionCode(InvalidFilterException::MISSING_NUMBER_OF_ORDERS_FIELDS);
@ -434,7 +434,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]]]); ]]]);
} }
public function testItMapsWooCommerceSubscription() { public function testItMapsWooCommerceSubscription(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE_SUBSCRIPTION, 'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE_SUBSCRIPTION,
'action' => WooCommerceSubscription::ACTION_HAS_ACTIVE, 'action' => WooCommerceSubscription::ACTION_HAS_ACTIVE,
@ -457,7 +457,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItChecksWooCommerceSubscriptionAction() { public function testItChecksWooCommerceSubscriptionAction(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing action'); $this->expectExceptionMessage('Missing action');
$this->expectExceptionCode(InvalidFilterException::MISSING_ACTION); $this->expectExceptionCode(InvalidFilterException::MISSING_ACTION);
@ -469,7 +469,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItChecksWooCommerceSubscriptionProductIds() { public function testItChecksWooCommerceSubscriptionProductIds(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing product'); $this->expectExceptionMessage('Missing product');
$this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID); $this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID);
@ -481,7 +481,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItChecksWooCommerceSubscriptionMissingOperator() { public function testItChecksWooCommerceSubscriptionMissingOperator(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing product'); $this->expectExceptionMessage('Missing product');
$this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID); $this->expectExceptionCode(InvalidFilterException::MISSING_PRODUCT_ID);
@ -492,7 +492,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
$this->mapper->map($data); $this->mapper->map($data);
} }
public function testItCreatesWooCommerceCustomerCountry() { public function testItCreatesWooCommerceCustomerCountry(): void {
$data = ['filters' => [[ $data = ['filters' => [[
'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE, 'segmentType' => DynamicSegmentFilterData::TYPE_WOOCOMMERCE,
'action' => WooCommerceCountry::ACTION_CUSTOMER_COUNTRY, 'action' => WooCommerceCountry::ACTION_CUSTOMER_COUNTRY,
@ -514,7 +514,7 @@ class FilterDataMapperTest extends \MailPoetUnitTest {
]); ]);
} }
public function testItRaisesExceptionCountryIsMissingForWooCommerceCustomerCountry() { public function testItRaisesExceptionCountryIsMissingForWooCommerceCustomerCountry(): void {
$this->expectException(InvalidFilterException::class); $this->expectException(InvalidFilterException::class);
$this->expectExceptionMessage('Missing country'); $this->expectExceptionMessage('Missing country');
$this->expectExceptionCode(InvalidFilterException::MISSING_COUNTRY); $this->expectExceptionCode(InvalidFilterException::MISSING_COUNTRY);