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:
@ -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);
|
||||||
|
@ -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) {
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
Reference in New Issue
Block a user