Commit Graph

118 Commits

Author SHA1 Message Date
John Oleksowicz
e4386fd41a Update tests to use verify instead of expect
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
9985405d82 Add backend logic for number of clicks filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
c28eed2388 Backend logic for number of emails received
MAILPOET-5577
2023-10-30 10:51:04 +01:00
John Oleksowicz
10f593bf2c Backend logic for first order filter
MAILPOET-5577
2023-10-30 10:51:04 +01:00
Rodrigo Primo
fac7fbb4f1 Replace expect()->notContains() with verify()->arrayNotContains()
codeception/verify 2.1 removed support for expect()->lessThan() so we need
to replace it with verify()->lessThan().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
e4f0b89032 Replace expect()->contains() with verify()->arrayContains()
codeception/verify 2.1 removed support for expect()->contains() so we need
to replace it with verify()->arrayContains().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
a1f57361c5 Replace expect()->array() with verify()->isArray()
codeception/verify 2.1 removed support for expect()->array() so we need
to replace it with verify()->isArray().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
9b56fdc688 Replace expect()->count() with verify()->arrayCount()
codeception/verify 2.1 removed support for expect()->count() so we need
to replace it with verify()->arrayCount().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
e4136fee8c Replace expect()->isEmpty() with verify()->empty()
codeception/verify 2.1 removed support for expect()->isEmpty() so we need
to replace it with verify()->empty().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
1865fc8930 Replace expect()->isInstanceOf() with verify()->instanceOf()
codeception/verify 2.1 removed support for expect()->isInstanceOf() so we need
to replace it with verify()->instanceOf().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
00c5250cff Replace expect()->notEquals() with verify()->notEquals()
codeception/verify 2.1 removed support for expect()->notEquals() so we need
to replace it with verify()->notEquals().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
709be1d541 Replace expect()->null() with verify()->null()
codeception/verify 2.1 removed support for expect()->null() so we need
to replace it with verify()->null().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
997f635d4a Replace expect()->false() with verify()->false()
codeception/verify 2.1 removed support for expect()->false() so we need
to replace it with verify()->false().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
afe378ba22 Replace expect()->equals() with verify()->equals()
codeception/verify 2.1 removed support for expect()->equals() so we need
to replace it with verify()->equals().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
John Oleksowicz
b1dd110bf8 Add lookup data retrieval for used shipping method
For ease of lookup, I changed the helper to return an array with keys
corresponding to the instanceId of the shipping methods. I couldn't see
anywhere else in the codebase where the keys would have mattered.

MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
97a53cb1aa Add lookup data retrieval for used payment method
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
c4fc8649f4 Add lookup data retrieval for used coupon code
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
67cff8992e Add lookup data retrieval for woo product
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
9d8fb08026 Add lookup data retrieval for woo category
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
54461d89ba Add lookup data retrieval for wordpress user role
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
d1f77d3ee5 Add lookup data retrieval for subscribed to list
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
af9a6cbb67 Add lookup data retrieval for subscribed via form
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
40785d047e Add lookup data retrieval for custom fields
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
beda4f8d89 Add lookup data retrieval for email filters
MAILPOET-5625
2023-10-13 11:21:42 +02:00
John Oleksowicz
984aa81f86 Add lookup data retrieval for automation filters
MAILPOET-5625
2023-10-13 11:21:42 +02:00
Jan Jakes
6610e08b25 Use deterministic order in FilterHandlerTest
[MAILPOET-5544]
2023-08-23 14:16:51 -05:00
John Oleksowicz
8d03db5dcc Add lifetime option to payment/shipping filters
MAILPOET-5496
2023-08-17 13:49:08 +02:00
John Oleksowicz
aac40e2a24 Add mapping test for used coupon code data
MAILPOET-5007
2023-08-14 13:49:55 +02:00
John Oleksowicz
a18dddedf3 Convert FilterDataMapperTest to integration test
It was becoming cumbersome to update the tests with new mocks every time
 the constructor changes in FilterDataMapper, which will become more
 common as more of the validation logic gets moved into the filter
 classes themselves.

MAILPOET-5007
2023-08-14 13:49:55 +02:00
John Oleksowicz
a446a13354 Add backend logic for used coupon code filter
MAILPOET-5007
2023-08-14 13:49:55 +02:00
John Oleksowicz
d7e283dea9 Handle empty strings as blank in custom fields
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
fe318f5a30 Add 'not contains' option for text custom fields
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
a1b51aecf0 Update backend logic to support (not)blank
MAILPOET-4996
2023-08-07 12:03:49 +02:00
John Oleksowicz
ce9cbdc45d Add backend logic for number of reviews filter
MAILPOET-5413
2023-08-07 11:06:27 +02:00
John Oleksowicz
27e346eed0 Fetch action directly from filter data
This fixes an issue where pre-existing subscribedDate filters were
causing errors because they didn't have an `action` stored in their
serialized data.

It was never necessary to store the action redundantly in the serialized
 filter data in the first place, so we're now fetching the action
 directly from the filter data entity itself.

MAILPOET-5500
2023-08-02 22:46:18 +02:00
John Oleksowicz
5eeee574b2 Extract strings to constants
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
feb0297fb9 Implement lifetime option for total spent
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
d04c84d6d4 Implement lifetime option for number of orders
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
64094387eb Implement lifetime option for average spent filter
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
14a2603ac3 Implement lifetime option for email opens
MAILPOET-4991
2023-07-30 19:20:09 +02:00
John Oleksowicz
edbb40ee42 Add last sending date filter
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
3ded9be927 Refactor subscribedDate filter to use SubscriberDateField
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
f27f469b17 Add backend logic for subscriber date filters
MAILPOET-4989
2023-07-26 10:53:55 +02:00
John Oleksowicz
7db7e78c71 Add backend logic for onOr(Before|After) filters
MAILPOET-5012
2023-07-19 16:06:19 +02:00
Rodrigo Primo
9a218a706b Refactor single order value and total spent to use DaysPeriodField
This commit refactors the React components SingleOrderValueFields and
TotalSpentFields to use the new DaysPeriodField component instead of
its own code to generate the days period selector.

[MAILPOET-4991]
2023-07-19 15:24:46 +02:00
Rodrigo Primo
8a2c435b9c Refactor average spent and # of orders to use DaysPeriodField
This commit refactors the React components AverageSpentFields and
NumberOfOrdersFields to use the new DaysPeriodField component instead of
a its own code to generate the days period selector.

[MAILPOET-4991]
2023-07-19 15:24:46 +02:00
John Oleksowicz
251dcdc6fb Add filters for automations events
MAILPOET-5003
2023-07-12 11:10:18 +02:00
Rodrigo Primo
841745c706 Remove shipping method IDs from the 'used shipping method' query
This commit simplifies the logic of the 'used shipping method' segment
by removing the shipping method IDs from the queries. After some
considering, we have come to the conclusion that using just the shipping
method instance ID is enough.

[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
Rodrigo Primo
f20878f7f3 Update the queries of the 'used shipping method' filter
This commit changes the logic of the code that builds the queries for
the 'used shipping method' filter. The initial implementation relied
only on the shipping method name that is stored in
wp_woocommerce_order_items.  This implementation did not work as the
name is not unique. The new implementation use the shipping method id
and the instance id that are stored in wp_woocommerce_order_itemmeta and
the combination of both fields is unique.

[MAILPOET-4992]
2023-07-04 22:23:06 +02:00
Rodrigo Primo
5447e253e5 Add backend logic to handle new "used shipping method" segment
[MAILPOET-4992]
2023-07-04 22:23:06 +02:00