diff --git a/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactory.php b/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactory.php index 6bbb4bc0a6..a121f45ba4 100644 --- a/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactory.php +++ b/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactory.php @@ -32,6 +32,7 @@ class SubscriberAutomationFieldsFactory { 'name' => $automation->getName() . " (#{$automation->getId()})", ]; }, $automations), + 'params' => ['in_the_last'], ]; return [ diff --git a/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberStatisticFieldsFactory.php b/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberStatisticFieldsFactory.php index 756ff1bc9d..463775c735 100644 --- a/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberStatisticFieldsFactory.php +++ b/mailpoet/lib/Automation/Integrations/MailPoet/Fields/SubscriberStatisticFieldsFactory.php @@ -27,7 +27,10 @@ class SubscriberStatisticFieldsFactory { function (SubscriberPayload $payload, array $params = []) { $startTime = $this->getStartTime($params); return $this->subscriberStatisticsRepository->getTotalSentCount($payload->getSubscriber(), $startTime); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'mailpoet:subscriber:email-opened-count', @@ -36,7 +39,10 @@ class SubscriberStatisticFieldsFactory { function (SubscriberPayload $payload, array $params = []) { $startTime = $this->getStartTime($params); return $this->subscriberStatisticsRepository->getStatisticsOpenCount($payload->getSubscriber(), $startTime); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'mailpoet:subscriber:email-machine-opened-count', @@ -45,7 +51,10 @@ class SubscriberStatisticFieldsFactory { function (SubscriberPayload $payload, array $params = []) { $startTime = $this->getStartTime($params); return $this->subscriberStatisticsRepository->getStatisticsMachineOpenCount($payload->getSubscriber(), $startTime); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'mailpoet:subscriber:email-clicked-count', @@ -54,7 +63,10 @@ class SubscriberStatisticFieldsFactory { function (SubscriberPayload $payload, array $params = []) { $startTime = $this->getStartTime($params); return $this->subscriberStatisticsRepository->getStatisticsClickCount($payload->getSubscriber(), $startTime); - } + }, + [ + 'params' => ['in_the_last'], + ] ), ]; } diff --git a/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactory.php b/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactory.php index a22b3a43aa..5ba561b759 100644 --- a/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactory.php +++ b/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactory.php @@ -52,7 +52,10 @@ class CustomerOrderFieldsFactory { return $inTheLastSeconds === null ? (float)$customer->get_total_spent() : $this->getRecentSpentTotal($customer, $inTheLastSeconds); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'woocommerce:customer:spent-average', @@ -73,7 +76,10 @@ class CustomerOrderFieldsFactory { $orderCount = $this->getRecentOrderCount($customer, $inTheLastSeconds); } return $orderCount > 0 ? ($totalSpent / $orderCount) : 0.0; - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'woocommerce:customer:order-count', @@ -89,7 +95,10 @@ class CustomerOrderFieldsFactory { return $inTheLastSeconds === null ? $customer->get_order_count() : $this->getRecentOrderCount($customer, $inTheLastSeconds); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'woocommerce:customer:first-paid-order-date', @@ -132,6 +141,7 @@ class CustomerOrderFieldsFactory { }, [ 'options' => $this->termOptionsBuilder->getTermOptions('product_cat'), + 'params' => ['in_the_last'], ] ), new Field( @@ -150,6 +160,7 @@ class CustomerOrderFieldsFactory { }, [ 'options' => $this->termOptionsBuilder->getTermOptions('product_tag'), + 'params' => ['in_the_last'], ] ), ]; diff --git a/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactory.php b/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactory.php index 6c5b1133a2..83744f1004 100644 --- a/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactory.php +++ b/mailpoet/lib/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactory.php @@ -32,7 +32,10 @@ class CustomerReviewFieldsFactory { } $inTheLastSeconds = isset($params['in_the_last_seconds']) ? (int)$params['in_the_last_seconds'] : null; return $this->getUniqueProductReviewCount($customer, $inTheLastSeconds); - } + }, + [ + 'params' => ['in_the_last'], + ] ), new Field( 'woocommerce:customer:last-review-date', diff --git a/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactoryTest.php b/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactoryTest.php index ce252a1839..9911da6191 100644 --- a/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactoryTest.php +++ b/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberAutomationFieldsFactoryTest.php @@ -36,11 +36,14 @@ class SubscriberAutomationFieldsFactoryTest extends MailPoetTest { $field = $fields[$key]; $this->assertSame($name, $field->getName()); $this->assertSame('enum_array', $field->getType()); - $this->assertSame(['options' => [ - ['id' => $deactivating->getId(), 'name' => "Deactivating (#{$deactivating->getId()})"], - ['id' => $active->getId(), 'name' => "Active (#{$active->getId()})"], - ['id' => $draft->getId(), 'name' => "Draft (#{$draft->getId()})"], - ]], $field->getArgs()); + $this->assertSame([ + 'options' => [ + ['id' => $deactivating->getId(), 'name' => "Deactivating (#{$deactivating->getId()})"], + ['id' => $active->getId(), 'name' => "Active (#{$active->getId()})"], + ['id' => $draft->getId(), 'name' => "Draft (#{$draft->getId()})"], + ], + 'params' => ['in_the_last'], + ], $field->getArgs()); } // check values diff --git a/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberStatisticsFieldsFactoryTest.php b/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberStatisticsFieldsFactoryTest.php index bbd69d6ddc..8734bdb714 100644 --- a/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberStatisticsFieldsFactoryTest.php +++ b/mailpoet/tests/integration/Automation/Integrations/MailPoet/Fields/SubscriberStatisticsFieldsFactoryTest.php @@ -30,7 +30,9 @@ class SubscriberStatisticsFieldsFactoryTest extends MailPoetTest { $field = $fields['mailpoet:subscriber:email-sent-count']; $this->assertSame('Email — sent count', $field->getName()); $this->assertSame('integer', $field->getType()); - $this->assertSame([], $field->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $field->getArgs()); // check values $payload = new SubscriberPayload($subscriber); @@ -60,7 +62,9 @@ class SubscriberStatisticsFieldsFactoryTest extends MailPoetTest { $field = $fields['mailpoet:subscriber:email-opened-count']; $this->assertSame('Email — opened count', $field->getName()); $this->assertSame('integer', $field->getType()); - $this->assertSame([], $field->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $field->getArgs()); // check values $payload = new SubscriberPayload($subscriber); @@ -90,7 +94,9 @@ class SubscriberStatisticsFieldsFactoryTest extends MailPoetTest { $field = $fields['mailpoet:subscriber:email-machine-opened-count']; $this->assertSame('Email — machine opened count', $field->getName()); $this->assertSame('integer', $field->getType()); - $this->assertSame([], $field->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $field->getArgs()); // check values $payload = new SubscriberPayload($subscriber); @@ -121,7 +127,9 @@ class SubscriberStatisticsFieldsFactoryTest extends MailPoetTest { $field = $fields['mailpoet:subscriber:email-clicked-count']; $this->assertSame('Email — clicked count', $field->getName()); $this->assertSame('integer', $field->getType()); - $this->assertSame([], $field->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $field->getArgs()); // check values $payload = new SubscriberPayload($subscriber); diff --git a/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactoryTest.php b/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactoryTest.php index 34a250d791..a2e6fe6243 100644 --- a/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactoryTest.php +++ b/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerOrderFieldsFactoryTest.php @@ -22,17 +22,23 @@ class CustomerOrderFieldsFactoryTest extends \MailPoetTest { $spentTotalField = $fields['woocommerce:customer:spent-total']; $this->assertSame('Total spent', $spentTotalField->getName()); $this->assertSame('number', $spentTotalField->getType()); - $this->assertSame([], $spentTotalField->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $spentTotalField->getArgs()); $spentAverageField = $fields['woocommerce:customer:spent-average']; $this->assertSame('Average spent', $spentAverageField->getName()); $this->assertSame('number', $spentAverageField->getType()); - $this->assertSame([], $spentAverageField->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $spentAverageField->getArgs()); $orderCountField = $fields['woocommerce:customer:order-count']; $this->assertSame('Order count', $orderCountField->getName()); $this->assertSame('integer', $orderCountField->getType()); - $this->assertSame([], $orderCountField->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $orderCountField->getArgs()); // check values (guest) $this->createOrder(0, 12.3); @@ -150,6 +156,7 @@ class CustomerOrderFieldsFactoryTest extends \MailPoetTest { ['id' => $cat3Id, 'name' => 'Cat 3'], ['id' => $uncategorizedId, 'name' => 'Uncategorized'], ], + 'params' => ['in_the_last'], ], $purchasedCategories->getArgs()); // create products @@ -225,6 +232,7 @@ class CustomerOrderFieldsFactoryTest extends \MailPoetTest { ['id' => $tag2Id, 'name' => 'Tag 2'], ['id' => $tag3Id, 'name' => 'Tag 3'], ], + 'params' => ['in_the_last'], ], $purchasedTags->getArgs()); // create products diff --git a/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactoryTest.php b/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactoryTest.php index d0f6b2c42a..4ddc3c303e 100644 --- a/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactoryTest.php +++ b/mailpoet/tests/integration/Automation/Integrations/WooCommerce/Fields/CustomerReviewFieldsFactoryTest.php @@ -19,7 +19,9 @@ class CustomerReviewFieldsFactoryTest extends \MailPoetTest { $reviewCountField = $fields['woocommerce:customer:review-count']; $this->assertSame('Review count', $reviewCountField->getName()); $this->assertSame('integer', $reviewCountField->getType()); - $this->assertSame([], $reviewCountField->getArgs()); + $this->assertSame([ + 'params' => ['in_the_last'], + ], $reviewCountField->getArgs()); // check values (guest) $this->createProductReview(0, '', 1);